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

Peter Dyballa <[email protected]> Sun, 20 Dec 2009 21:39:44 +0100
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
Hello!

Two package management systems, Fink with its /sw root and MacPorts =20
with its /opt/local root, provide useful software packages for Mac OS =20=

X. GNU Emacs' configure script hard-codes /sw (line #2729ff):

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

This prevents the use of C header files in /opt/local/include and of =20
libraries in /opt/local/lib. Even when I use "--x-libraries=3D/opt/local/=20=

libs --x-includes=3D/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 =20=

the configure script I cannot even compile temacs.


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

	./configure --without-sound --without-pop --without-dbus --x-=20
libraries=3D/opt/local/libs --x-includes=3D/opt/local/include/X11 =
--enable-=20
locallisppath=3D/Library/Application\ Support/Emacs/calendar23:/Library/=20=

Application\ Support/Emacs CPPFLAGS=3D"-no-cpp-precomp -I/sw/include" =20=

CFLAGS=3D"..." LDFLAGS=3D"-dead_strip -multiply_defined suppress =
-L/sw/lib"

(paths to Fink are included because GIF, JPEG, TIFF, and RSVG =20
libraries are in Fink =96 and also in some Mac OS X frameworks) still =20=

resources from MacPorts are not used because their paths are appended =20=

and therefore files are searched in /sw before /opt/local. The only =20
cure is to patch the above with /sw -> /opt/local. So might be useful =20=

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.
				=96 Bill Gates, Jan 2004