[vlc-devel] Problems with Mac OS X compile

Vance Shipley vances at motivity.ca
Sat Aug 2 19:30:29 CEST 2008


I'm seeing the same problem as has been reported on a few previous
occassions with the configure line recommended in the "OSXCompile"
document.  The issue is that when "--with-macosx-sdk" is used the
options "-isysroot" and "-mmacosx-version-min" are added to CXX
(as well as CC, OBJC and LD):

    dnl
    dnl  Check for Mac OS X SDK settings
    dnl
    AC_ARG_WITH(macosx-sdk,
       [  --with-macosx-sdk=DIR   compile using the SDK in DIR])
    if test "${with_macosx_sdk}" != "" ; then
        CC="${CC} -isysroot ${with_macosx_sdk}"
        CXX="${CXX} -isysroot ${with_macosx_sdk}"
        OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
        LD="${LD} -syslibroot ${with_macosx_sdk}"
    fi
    AC_ARG_WITH(macosx-version-min,
       [  --with-macosx-version-min=VERSION  compile for MacOSX VERSION and above])
    if test "${with_macosx_version_min}" != "" ; then
        CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
        CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
        OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
        LD="${LD} -macosx_version_min=${with_macosx_version_min}"
        CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
        CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
        OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
        MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
        export MACOSX_DEPLOYMENT_TARGET
    fi


The autoconf macro AC_PROG_CXXCPP (included by other macros) contains
a test which checks to see if CXX is the GNU g++ compiler:

	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
	    (test "X$CXX" != "Xg++"))) ; then

This fails because CXX isn't equal to "g++", it is now "g++ -isysroot
-mmacosx-version-min".

It appears that the OS X specific flags are being added to CXX instead
of CXXFLAGS, as they should be, purposely.  I'm not clear on the use
of CXXFLAGS_save so I don't have the answer as to how to fix this.

	-Vance


On Fri, Jun 20, 2008 at 01:41:29PM -0700, Dave Still wrote:
> In which case, I get the following error from "./configure --enable- 
> debug --with-macosx-sdk":
> 
> ...
> checking how to recognize dependent libraries... (cached) pass_all
> checking dlfcn.h usability... no
> checking dlfcn.h presence... yes
> configure: WARNING: dlfcn.h: present but cannot be compiled
> configure: WARNING: dlfcn.h:     check for missing prerequisite
> headers?
> configure: WARNING: dlfcn.h: see the Autoconf documentation
> configure: WARNING: dlfcn.h:     section "Present But Cannot Be  
> Compiled"
> configure: WARNING: dlfcn.h: proceeding with the preprocessor's result
> configure: WARNING: dlfcn.h: in the future, the compiler will take  
> precedence
> checking for dlfcn.h... yes
> checking how to run the C++ preprocessor... /lib/cpp
> configure: error: C++ preprocessor "/lib/cpp" fails sanity check




More information about the vlc-devel mailing list