From b29a68fbad0f1ad8ecc599c5e63ab4f5111d8510 Mon Sep 17 00:00:00 2001 From: joerg Date: Thu, 19 Nov 2009 22:55:52 +0000 Subject: Detect automatically if libfetch needs linkage against OpenSSL and drop the option. Make sure to actually honour the libraries detected by configure. This should fix the remaining issues on Solaris. --- net/fetch/Makefile | 5 +- net/fetch/files/Makefile | 14 -- net/fetch/files/Makefile.in | 8 + net/fetch/files/configure | 343 ++++++++++++++++++++++++++++++++++++++++++- net/fetch/files/configure.ac | 7 +- net/fetch/options.mk | 21 --- 6 files changed, 357 insertions(+), 41 deletions(-) delete mode 100644 net/fetch/files/Makefile create mode 100644 net/fetch/files/Makefile.in delete mode 100644 net/fetch/options.mk (limited to 'net/fetch') diff --git a/net/fetch/Makefile b/net/fetch/Makefile index f556f324e1b..a73763d2477 100644 --- a/net/fetch/Makefile +++ b/net/fetch/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.9 2009/11/13 20:52:05 joerg Exp $ +# $NetBSD: Makefile,v 1.10 2009/11/19 22:55:52 joerg Exp $ # DISTNAME= fetch-1.6 @@ -23,6 +23,5 @@ INSTALLATION_DIRS= bin ${PKGMANDIR}/cat1 ${PKGMANDIR}/man1 do-extract: ${CP} -r ${FILESDIR} ${WRKSRC} -.include "options.mk" - +.include "../../net/libfetch/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/fetch/files/Makefile b/net/fetch/files/Makefile deleted file mode 100644 index 90815d12f43..00000000000 --- a/net/fetch/files/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -.include - -PROG= fetch -LDADD= -lfetch - -FETCH_WITH_OPENSSL?= no - -.if ${FETCH_WITH_OPENSSL} != "no" -LDADD+= -lssl -lcrypto -.endif - -.include diff --git a/net/fetch/files/Makefile.in b/net/fetch/files/Makefile.in new file mode 100644 index 00000000000..3794592d655 --- /dev/null +++ b/net/fetch/files/Makefile.in @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.include + +PROG= fetch +LDADD+= -lfetch @LIBS@ + +.include diff --git a/net/fetch/files/configure b/net/fetch/files/configure index 49653d7621a..0fe69077f15 100755 --- a/net/fetch/files/configure +++ b/net/fetch/files/configure @@ -3626,6 +3626,101 @@ _ACEOF fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fetchGet in -lfetch" >&5 +$as_echo_n "checking for fetchGet in -lfetch... " >&6; } +if test "${ac_cv_lib_fetch_fetchGet+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfetch $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char fetchGet (); +int +main () +{ +return fetchGet (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_fetch_fetchGet=yes +else + ac_cv_lib_fetch_fetchGet=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fetch_fetchGet" >&5 +$as_echo "$ac_cv_lib_fetch_fetchGet" >&6; } +if test "x$ac_cv_lib_fetch_fetchGet" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBFETCH 1 +_ACEOF + + LIBS="-lfetch $LIBS" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fetchGet in -lfetch" >&5 +$as_echo_n "checking for fetchGet in -lfetch... " >&6; } +if test "${ac_cv_lib_fetch_fetchGet+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lfetch $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char fetchGet (); +int +main () +{ +return fetchGet (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_fetch_fetchGet=yes +else + ac_cv_lib_fetch_fetchGet=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fetch_fetchGet" >&5 +$as_echo "$ac_cv_lib_fetch_fetchGet" >&6; } +if test "x$ac_cv_lib_fetch_fetchGet" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBFETCH 1 +_ACEOF + + LIBS="-lfetch $LIBS" + +else + -lssl -lcrypto +fi + + +fi + case "$host_os" in netbsd) @@ -3638,6 +3733,7 @@ esac $as_echo "#define HAVE_CONFIG_H /**/" >>confdefs.h +ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -4158,6 +4254,9 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; @@ -4166,6 +4265,7 @@ esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. +config_files="$ac_config_files" config_headers="$ac_config_headers" _ACEOF @@ -4184,9 +4284,14 @@ Usage: $0 [OPTION]... [TAG]... do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE +Configuration files: +$config_files + Configuration headers: $config_headers @@ -4234,6 +4339,13 @@ do $as_echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in @@ -4302,6 +4414,7 @@ for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac @@ -4313,6 +4426,7 @@ done # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi @@ -4341,6 +4455,156 @@ $debug || (umask 077 && mkdir "$tmp") } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\).*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\).*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || as_fn_error "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. @@ -4450,7 +4714,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_HEADERS" -eval set X " :H $CONFIG_HEADERS " +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " shift for ac_tag do @@ -4579,7 +4843,84 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in + :F) + # + # CONFIG_FILE + # +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + ;; :H) # # CONFIG_HEADER diff --git a/net/fetch/files/configure.ac b/net/fetch/files/configure.ac index 187839adf4f..aed52104e5d 100644 --- a/net/fetch/files/configure.ac +++ b/net/fetch/files/configure.ac @@ -1,4 +1,4 @@ -dnl $NetBSD: configure.ac,v 1.1 2009/11/13 20:52:05 joerg Exp $ +dnl $NetBSD: configure.ac,v 1.2 2009/11/19 22:55:53 joerg Exp $ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.52) @@ -15,6 +15,9 @@ AC_TYPE_INTMAX_T AC_CHECK_FUNCS([getpass getpassphrase setproctitle]) AC_CHECK_LIB(socket, socket) AC_CHECK_LIB(nsl, gethostbyname) +AC_CHECK_LIB(fetch, fetchGet, [], [ + AC_CHECK_LIB(fetch, fetchGet, [], [] [-lssl -lcrypto]) +]) case "$host_os" in netbsd) @@ -23,5 +26,5 @@ netbsd) esac AC_DEFINE([HAVE_CONFIG_H], [], [Include config.h]) - +AC_CONFIG_FILES([Makefile]) AC_OUTPUT diff --git a/net/fetch/options.mk b/net/fetch/options.mk deleted file mode 100644 index 25853611c18..00000000000 --- a/net/fetch/options.mk +++ /dev/null @@ -1,21 +0,0 @@ -# $NetBSD: options.mk,v 1.3 2009/02/18 08:36:53 joerg Exp $ - -PKG_OPTIONS_VAR= PKG_OPTIONS.libfetch -PKG_SUPPORTED_OPTIONS= -PKG_SUGGESTED_OPTIONS= - -.include "../../net/libfetch/buildlink3.mk" -.if !empty(PKG_BUILD_OPTIONS.libfetch:Mopenssl) -PKG_SUPPORTED_OPTIONS+= openssl -PKG_SUGGESTED_OPTIONS+= openssl -.endif - -.include "../../mk/bsd.options.mk" - -.if !empty(PKG_OPTIONS:Mopenssl) -MAKE_ENV+= FETCH_WITH_OPENSSL=yes - -.include "../../security/openssl/buildlink3.mk" -.else -MAKE_ENV+= FETCH_WITH_OPENSSL=no -.endif -- cgit v1.2.3