diff options
author | joerg <joerg> | 2009-11-19 22:55:52 +0000 |
---|---|---|
committer | joerg <joerg> | 2009-11-19 22:55:52 +0000 |
commit | 728621ed9baf827b18d8d2b7c19d3572aba68eb5 (patch) | |
tree | a547a22797999b20e498091c222ecfda2f1013c5 /net/fetch | |
parent | fbf0ebaf2a505d1ebfdf36f7da3167521c6137bc (diff) | |
download | pkgsrc-728621ed9baf827b18d8d2b7c19d3572aba68eb5.tar.gz |
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.
Diffstat (limited to 'net/fetch')
-rw-r--r-- | net/fetch/Makefile | 5 | ||||
-rw-r--r-- | net/fetch/files/Makefile | 14 | ||||
-rw-r--r-- | net/fetch/files/Makefile.in | 8 | ||||
-rwxr-xr-x | net/fetch/files/configure | 343 | ||||
-rw-r--r-- | net/fetch/files/configure.ac | 7 | ||||
-rw-r--r-- | net/fetch/options.mk | 21 |
6 files changed, 357 insertions, 41 deletions
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 <bsd.own.mk> - -PROG= fetch -LDADD= -lfetch - -FETCH_WITH_OPENSSL?= no - -.if ${FETCH_WITH_OPENSSL} != "no" -LDADD+= -lssl -lcrypto -.endif - -.include <bsd.prog.mk> 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 <bsd.own.mk> + +PROG= fetch +LDADD+= -lfetch @LIBS@ + +.include <bsd.prog.mk> 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 2>/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 +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$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 |