dnl @synopsis AC_CREATE_GENERIC_CONFIG [(PACKAGEnlibs [, VERSION])] dnl dnl Creates a generic PACKAGE-config file that has all the things that dnl you want, hmm, well, atleast it has --cflags, --version, --libs. dnl Ahhm, did you see ac_path_generic in the autoconf-archive? ;-) dnl dnl this macros saves you all the typing for a pkg-config.in script, dnl you don't even need to distribute one along. Place this macro in dnl your configure.ac, et voila, you got one that you want to install. dnl dnl oh, btw, if the first arg looks like "mylib -lwhat' then it will go dnl to be added to the --libs, and mylib is extracted. dnl dnl the defaults: $1 = $PACKAGE $LIBS $2 = $VERSION there is also an dnl AC_SUBST(GENERIC_CONFIG) that will be set to the name of the file dnl that we did output in this macro. Use as: dnl dnl install-exec-local: install-generic-config dnl dnl install-generic-config: dnl $(mkinstalldirs) $(DESTDIR)$(bindir) dnl $(INSTALL_SCRIPT) @GENERIC_CONFIG@ $(DESTDIR)$(bindir) dnl dnl @category Misc dnl @author Guido U. Draheim dnl @version 2006-10-13 dnl @license GPLWithACException AC_DEFUN([AC_CREATE_GENERIC_CONFIG],[# create a generic PACKAGE-config file L=`echo ifelse($1, , $PACKAGE $LIBS, $1)` P=`echo $L | sed -e 's/ -.*//'` P=`echo $P` V=`echo ifelse($2, , $VERSION, $2)` F=`echo $P-config` L=`echo -l$L | sed -e 's/^-llib/-l/'` AC_MSG_RESULT(creating $F - generic $V for $L) test "x$prefix" = xNONE && prefix="$ac_default_prefix" test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' echo '#! /bin/sh' >$F echo ' ' >>$F echo 'package="'$P'"' >>$F echo 'version="'$V'"' >>$F echo 'libs="'$L'"' >>$F echo ' ' >>$F # in the order of occurence a standard automake Makefile echo 'prefix="'$prefix'"' >>$F echo 'exec_prefix="'$exec_prefix'"' >>$F echo 'bindir="'$bindir'"' >>$F echo 'sbindir="'$sbindir'"' >>$F echo 'libexecdir="'$libexecdir'"' >>$F echo 'datadir="'$datadir'"' >>$F echo 'sysconfdir="'$sysconfdir'"' >>$F echo 'sharedstatedir="'$sharedstatedir'"' >>$F echo 'localstatedir="'$localstatedir'"' >>$F echo 'libdir="'$libdir'"' >>$F echo 'infodir="'$infodir'"' >>$F echo 'mandir="'$mandir'"' >>$F echo 'includedir="'$includedir'"' >>$F echo 'target="'$target'"' >>$F echo 'host="'$host'"' >>$F echo 'build="'$build'"' >>$F echo ' ' >>$F echo 'if test "'"\$""#"'" -eq 0; then' >>$F echo ' cat <>$F echo 'Usage: $package-config [OPTIONS]' >>$F echo 'Options:' >>$F echo ' --prefix[=DIR]) : \$prefix' >>$F echo ' --package) : \$package' >>$F echo ' --version) : \$version' >>$F echo ' --cflags) : -I\$includedir' >>$F echo ' --libs) : -L\$libdir -l\$package' >>$F echo ' --help) print all the options (not just these)' >>$F echo 'EOF' >>$F echo 'fi' >>$F echo ' ' >>$F echo 'o=""' >>$F echo 'h=""' >>$F echo 'for i in "[$]@"; do' >>$F echo ' case $i in' >>$F echo ' --prefix=*) prefix=`echo $i | sed -e "s/--prefix=//"` ;;' >>$F echo ' --prefix) o="$o $prefix" ;;' >>$F echo ' --package) o="$o $package" ;;' >>$F echo ' --version) o="$o $version" ;;' >>$F echo ' --cflags) if test "_$includedir" != "_/usr/include"' >>$F echo ' then o="$o -I$includedir" ; fi' >>$F echo ' ;;' >>$F echo ' --libs) o="$o -L$libdir $libs" ;;' >>$F echo ' --exec_prefix|--eprefix) o="$o $exec_prefix" ;;' >>$F echo ' --bindir) o="$o $bindir" ;;' >>$F echo ' --sbindir) o="$o $sbindir" ;;' >>$F echo ' --libexecdir) o="$o $libexecdir" ;;' >>$F echo ' --datadir) o="$o $datadir" ;;' >>$F echo ' --datainc) o="$o -I$datadir" ;;' >>$F echo ' --datalib) o="$o -L$datadir" ;;' >>$F echo ' --sysconfdir) o="$o $sysconfdir" ;;' >>$F echo ' --sharedstatedir) o="$o $sharedstatedir" ;;' >>$F echo ' --localstatedir) o="$o $localstatedir" ;;' >>$F echo ' --libdir) o="$o $libdir" ;;' >>$F echo ' --libadd) o="$o -L$libdir" ;;' >>$F echo ' --infodir) o="$o $infodir" ;;' >>$F echo ' --mandir) o="$o $mandir" ;;' >>$F echo ' --target) o="$o $target" ;;' >>$F echo ' --host) o="$o $host" ;;' >>$F echo ' --build) o="$o $build" ;;' >>$F echo ' --data) o="$o -I$datadir/$package" ;;' >>$F echo ' --pkgdatadir) o="$o $datadir/$package" ;;' >>$F echo ' --pkgdatainc) o="$o -I$datadir/$package" ;;' >>$F echo ' --pkgdatalib) o="$o -L$datadir/$package" ;;' >>$F echo ' --pkglibdir) o="$o $libdir/$package" ;;' >>$F echo ' --pkglibinc) o="$o -I$libinc/$package" ;;' >>$F echo ' --pkglibadd) o="$o -L$libadd/$package" ;;' >>$F echo ' --pkgincludedir) o="$o $includedir/$package" ;;' >>$F echo ' --help) h="1" ;;' >>$F echo ' -?//*|-?/*//*|-?./*//*|//*|/*//*|./*//*) ' >>$F echo ' v=`echo $i | sed -e s://:\$:g`' >>$F echo ' v=`eval "echo $v"` ' >>$F echo ' o="$o $v" ;; ' >>$F echo ' esac' >>$F echo 'done' >>$F echo ' ' >>$F echo 'o=`eval "echo $o"`' >>$F echo 'o=`eval "echo $o"`' >>$F echo 'eval "echo $o"' >>$F echo ' ' >>$F echo 'if test ! -z "$h" ; then ' >>$F echo 'cat <>$F echo ' --prefix=xxx) (what is that for anyway?)' >>$F echo ' --prefix) \$prefix $prefix' >>$F echo ' --package) \$package $package' >>$F echo ' --version) \$version $version' >>$F echo ' --cflags) -I\$includedir unless it is /usr/include' >>$F echo ' --libs) -L\$libdir -l\$PACKAGE \$LIBS' >>$F echo ' --exec_prefix) or... ' >>$F echo ' --eprefix) \$exec_prefix $exec_prefix' >>$F echo ' --bindir) \$bindir $bindir' >>$F echo ' --sbindir) \$sbindir $sbindir' >>$F echo ' --libexecdir) \$libexecdir $libexecdir' >>$F echo ' --datadir) \$datadir $datadir' >>$F echo ' --sysconfdir) \$sysconfdir $sysconfdir' >>$F echo ' --sharedstatedir) \$sharedstatedir$sharedstatedir' >>$F echo ' --localstatedir) \$localstatedir $localstatedir' >>$F echo ' --libdir) \$libdir $libdir' >>$F echo ' --infodir) \$infodir $infodir' >>$F echo ' --mandir) \$mandir $mandir' >>$F echo ' --target) \$target $target' >>$F echo ' --host) \$host $host' >>$F echo ' --build) \$build $build' >>$F echo ' --data) -I\$datadir/\$package' >>$F echo ' --pkgdatadir) \$datadir/\$package' >>$F echo ' --pkglibdir) \$libdir/\$package' >>$F echo ' --pkgincludedir) \$includedir/\$package' >>$F echo ' --help) generated by ac_create_generic_config.m4' >>$F echo ' -I//varname and other inc-targets like --pkgdatainc supported' >>$F echo ' -L//varname and other lib-targets, e.g. --pkgdatalib or --libadd' >>$F echo 'EOF' >>$F echo 'fi' >>$F GENERIC_CONFIG="$F" AC_SUBST(GENERIC_CONFIG) ])