threads / patch / 60013

patch, 3 partsconfigure.ac: misc configure fixes

Subject: [PATCH 0/3] configure.ac: misc configure fixes

## tl;dr

5 messages between Jul 19, 2023 and Jul 19, 2023. Diffs are folded; open one to read it.

replies: 4people: 2as markdown or json

Andreas Herrmann· Jul 19, 2023, 14:29 UTC · lore

Some of the configure options are not working as expected. I first encountered this when using '--with-expat=no'. Following patches address this.

I've also checked configure options for 'libpcre', 'openssl' (together with 'make OPENSSL_SHA1=yes ...'), and 'tcltk'. These are working correctly.

As a test I've run 'make test' when disabling support of a package. I always had to use 'export GIT_SKIP_TESTS="t5801.1[4-7] t5801.31"' to skip some failing tests. Those failed also with default build.

When disabling iconv ('configure --without-iconv') further tests are failing. In this case I've used 'export GIT_SKIP_TESTS="t5801.1[4-7] t5801.31 \ t0028* t2082.2 t3434* t390[01]* \ t4041* t4059* t4060.8 t4201.12 t4205* t4210* t4254.[34] \ t5100* t6006* t7102.2 t8005* t9300.193 t9350*"' to ensure that 'make test' completed without exiting early.

Andreas Herrmann (3):
  configure.ac: don't overwrite NO_EXPAT option
  configure.ac: don't overwrite NO_CURL option
  configure.ac: always save NO_ICONV to config.status
 configure.ac | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
-- 
2.41.0
Andreas Herrmann· Jul 19, 2023, 14:29 UTC · re: Andreas Herrmann · lore

[PATCH 1/3] configure.ac: don't overwrite NO_EXPAT option

Even if 'configure --with-expat=no' was run, expat support is used, because library detection overwrites it. Avoid this overwrite. Configure should obey what the user has specified.

Signed-off-by: Andreas Herrmann <aherrmann@suse.de>
---
 configure.ac | 4 ++++
 1 file changed, 4 insertions(+)
Show changes to configure.ac +4 −0
diff --git a/configure.ac b/configure.ac
index 38ff86678a..62cc8197f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -581,6 +581,8 @@ fi
 # Define NO_EXPAT if you do not have expat installed.  git-http-push is
 # not built, and you cannot push using http:// and https:// transports.
 
+if test -z "$NO_EXPAT"; then
+
 GIT_STASH_FLAGS($EXPATDIR)
 
 AC_CHECK_LIB([expat], [XML_ParserCreate],
@@ -589,6 +591,8 @@ AC_CHECK_LIB([expat], [XML_ParserCreate],
 
 GIT_UNSTASH_FLAGS($EXPATDIR)
 
+fi
+
 GIT_CONF_SUBST([NO_EXPAT])
 
 #
-- 
2.41.0
Andreas Herrmann· Jul 19, 2023, 14:29 UTC · re: Andreas Herrmann · lore

[PATCH 2/3] configure.ac: don't overwrite NO_CURL option

Even if 'configure --with-curl=no' was run, curl support is used, because library detection overwrites it. Avoid this overwrite. Configure should obey what the user has specified.

Signed-off-by: Andreas Herrmann <aherrmann@suse.de>
---
 configure.ac | 4 ++++
 1 file changed, 4 insertions(+)
Show changes to configure.ac +4 −0
diff --git a/configure.ac b/configure.ac
index 62cc8197f8..e85e215f14 100644
--- a/configure.ac
+++ b/configure.ac
@@ -546,6 +546,8 @@ fi
 # git-http-push are not built, and you cannot use http:// and https://
 # transports.
 
+if test -z "$NO_CURL"; then
+
 GIT_STASH_FLAGS($CURLDIR)
 
 AC_CHECK_LIB([curl], [curl_global_init],
@@ -554,6 +556,8 @@ AC_CHECK_LIB([curl], [curl_global_init],
 
 GIT_UNSTASH_FLAGS($CURLDIR)
 
+fi
+
 GIT_CONF_SUBST([NO_CURL])
 
 if test -z "$NO_CURL"; then
-- 
2.41.0
Andreas Herrmann· Jul 19, 2023, 14:29 UTC · re: Andreas Herrmann · lore

[PATCH 3/3] configure.ac: always save NO_ICONV to config.status

In case 'configure --with-iconv=no' is used, NO_ICONV is not saved to config.status and thus git is built with iconv support.

Always save NO_ICONV to config.status to honor what user selected during configure step.

Signed-off-by: Andreas Herrmann <aherrmann@suse.de>
---
 configure.ac | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Show changes to configure.ac +2 −1
diff --git a/configure.ac b/configure.ac
index e85e215f14..276593cd9d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -644,7 +644,6 @@ LIBS="$old_LIBS"
 GIT_UNSTASH_FLAGS($ICONVDIR)
 
 GIT_CONF_SUBST([NEEDS_LIBICONV])
-GIT_CONF_SUBST([NO_ICONV])
 
 if test -n "$NO_ICONV"; then
     NEEDS_LIBICONV=
@@ -652,6 +651,8 @@ fi
 
 fi
 
+GIT_CONF_SUBST([NO_ICONV])
+
 #
 # Define NO_DEFLATE_BOUND if deflateBound is missing from zlib.
 
-- 
2.41.0
Junio C Hamano· Jul 19, 2023, 21:35 UTC · re: Andreas Herrmann · lore

Re: [PATCH 0/3] configure.ac: misc configure fixes

Andreas Herrmann <aherrmann@suse.de> writes:
> Andreas Herrmann (3):
>   configure.ac: don't overwrite NO_EXPAT option
>   configure.ac: don't overwrite NO_CURL option
>   configure.ac: always save NO_ICONV to config.status
All patches look good.
Thanks, will queue.

← back to recent threads