From 473d78fb70c4ee6adb5e3596d699cf7b5a95f028 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 4 Aug 2023 15:10:52 +0100 Subject: [PATCH] generator: Handle ./configure --disable-rust If this option is used, then "@RUSTFMT@" is expanded to "" (not "no"). Let's change the Config.rustfmt value to be an option type, while also fixing this problem. Fixes: commit b2511d640bc12b0116e6c013a17aefb4e772a058 --- generator/config.ml.in | 2 +- generator/config.mli | 2 +- generator/utils.ml | 17 ++++++++++------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/generator/config.ml.in b/generator/config.ml.in index 7ac5237c5d..d0e6760e4f 100644 --- a/generator/config.ml.in +++ b/generator/config.ml.in @@ -18,4 +18,4 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *) -let rustfmt = "@RUSTFMT@" +let rustfmt = match "@RUSTFMT@" with "" | "no" -> None | s -> Some s diff --git a/generator/config.mli b/generator/config.mli index 5f1a46a6b1..8fb0c672ed 100644 --- a/generator/config.mli +++ b/generator/config.mli @@ -17,4 +17,4 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *) -val rustfmt : string +val rustfmt : string option diff --git a/generator/utils.ml b/generator/utils.ml index 3302b309ae..8ce4240c31 100644 --- a/generator/utils.ml +++ b/generator/utils.ml @@ -432,13 +432,16 @@ let chan := NoOutput; (match formatter with | Some Rustfmt -> - if Config.rustfmt <> "no" then ( - let cmd = sprintf "%s %s" Config.rustfmt filename_new in - match system cmd with - | WEXITED 0 -> () - | WEXITED i -> failwithf "rustfmt failed with exit code %d" i - | WSIGNALED i | WSTOPPED i -> - failwithf "rustfmt was killed or stopped by signal %d" i + (match Config.rustfmt with + | Some rustfmt -> + (let cmd = sprintf "%s %s" rustfmt filename_new in + match system cmd with + | WEXITED 0 -> () + | WEXITED i -> failwithf "rustfmt failed with exit code %d" i + | WSIGNALED i | WSTOPPED i -> + failwithf "rustfmt was killed or stopped by signal %d" i + ) + | None -> () ); | None -> ()); (* Is the new file different from the current file? *) -- 2.41.0