Subject: bug#5252: 23.1.90; configure prevents the use of MacPorts packages

From: Peter Dyballa <[email-masked]>
Date: Sun, 20 Dec 2009 21:39:44 +0100

Hello!

Two package management systems, Fink with its /sw root and MacPorts  
with its /opt/local root, provide useful software packages for Mac OS  
X. GNU Emacs' configure script hard-codes /sw (line #2729ff):

   ## Apple Darwin / Mac OS X
   *-apple-darwin* )
     case "${canonical}" in
       i[3456]86-* )  machine=intel386 ;;
       powerpc-* )    machine=macppc ;;
       x86_64-* )     machine=amdx86-64 ;;
       * )            unported=yes ;;
     esac
     opsys=darwin
     # Define CPP as follows to make autoconf work correctly.
     CPP="${CC-cc} -E -no-cpp-precomp"
     # Use fink packages if available.
     if test -d /sw/include && test -d /sw/lib; then
       GCC_TEST_OPTIONS="-I/sw/include -L/sw/lib"
       CPP="${CPP} ${GCC_TEST_OPTIONS}"
       NON_GCC_TEST_OPTIONS=${GCC_TEST_OPTIONS}
     fi
   ;;

This prevents the use of C header files in /opt/local/include and of  
libraries in /opt/local/lib. Even when I use "--x-libraries=/opt/local/ 
libs --x-includes=/opt/local/include/X11" it ends in invocations like

	gcc -I/sw/include -L/sw/lib -c ...

and I continuously run into the bugs #3895 and #5250. Without patching  
the configure script I cannot even compile temacs.

When I now comment the above Fink related block in configure and  
perform configuration with

	./configure --without-sound --without-pop --without-dbus --x- 
libraries=/opt/local/libs --x-includes=/opt/local/include/X11 --enable- 
locallisppath=/Library/Application\ Support/Emacs/calendar23:/Library/ 
Application\ Support/Emacs CPPFLAGS="-no-cpp-precomp -I/sw/include"  
CFLAGS="..." LDFLAGS="-dead_strip -multiply_defined suppress -L/sw/lib"

(paths to Fink are included because GIF, JPEG, TIFF, and RSVG  
libraries are in Fink – and also in some Mac OS X frameworks) still  
resources from MacPorts are not used because their paths are appended  
and therefore files are searched in /sw before /opt/local. The only  
cure is to patch the above with /sw -> /opt/local. So might be useful  
to add configure switches --with-Fink and --with-MacPorts on Mac OS X...

BTW, configure checks many times for pkg-config:

configure:11340: checking for pkg-config
configure:11358: found /opt/local/bin/pkg-config
configure:11371: result: /opt/local/bin/pkg-config

configure:11457: checking for pkg-config
configure:11488: result: /opt/local/bin/pkg-config

configure:12597: checking for pkg-config
configure:12628: result: /opt/local/bin/pkg-config

configure:13475: checking for pkg-config
configure:13506: result: /opt/local/bin/pkg-config

configure:13577: checking for pkg-config
configure:13608: result: /opt/local/bin/pkg-config

configure:13917: checking for pkg-config
configure:13948: result: /opt/local/bin/pkg-config

configure:14102: checking for pkg-config
configure:14133: result: /opt/local/bin/pkg-config

--
Greetings

   Pete

Spam will be a thing of the past in two years' time.
				– Bill Gates, Jan 2004