From kde-core-devel Fri Jun 27 01:44:40 2003 From: Benjamin Reed Date: Fri, 27 Jun 2003 01:44:40 +0000 To: kde-core-devel Subject: admin patch for mac os x X-MARC-Message: https://marc.info/?l=kde-core-devel&m=105667834721632 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------090807060508030203080908" This is a multi-part message in MIME format. --------------090807060508030203080908 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Here's another patch for the admin dir for OSX. What it does: - ------------- - - renames the funky OSX environ bit to an AH_VERBATIM - - adds Sam Magnuson's --enable-mac bits for using Qt/Mac ~ (the code for the rest of KDE to handle that properly is still ~ being worked on) - - adds LIB_XRENDER to the list of things $kde_use_qt_emb (and ~ $kde_use_qt_mac) nullifies since it can be found even if you ~ didn't want to link against it - - adds a define for apple's nonstandard pam/pam_appl.h because ~ of conflicts with the osx "Security" framework on ~ case-insensitive filesystems (most mac systems) - - adds a case to find the apple-provided JDK and link against ~ the JavaVM framework Comments are welcome, the pam thing is a bit ugly, if you know of a better way to handle it gracefully, I'm all ears. Other than that most of this should be pretty straightforward. - -- Benjamin Reed a.k.a. Ranger Rick -- http://ranger.befunk.com/ Standards are the industry's way of codifying obsolescence. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQE++6GHUu+jZtP2Zf4RArnnAJ4kpV6JrqB6bGkg/HHSCEC1B23VDACeOsm5 kpc63B35gJUshf3zW9iGpaQ= =mNCE -----END PGP SIGNATURE----- --------------090807060508030203080908 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="admin-darwin.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="admin-darwin.patch" Index: acinclude.m4.in =================================================================== RCS file: /home/kde/kde-common/admin/acinclude.m4.in,v retrieving revision 2.370 diff -u -r2.370 acinclude.m4.in --- acinclude.m4.in 26 Jun 2003 07:55:24 -0000 2.370 +++ acinclude.m4.in 27 Jun 2003 01:37:20 -0000 @@ -720,10 +720,6 @@ AC_CHECK_FUNC(shmat, , AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) - # darwin needs this to initialize the environment - AC_CHECK_HEADERS(crt_externs.h) - AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) - # more headers that need to be explicitly included on darwin AC_CHECK_HEADERS(sys/types.h stdint.h) @@ -733,7 +729,7 @@ # CoreAudio framework AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) - FRAMEWORK_COREAUDIO="-framework CoreAudio" + FRAMEWORK_COREAUDIO="-Xlinker -framework -Xlinker CoreAudio" ]) AC_CHECK_RES_INIT @@ -757,7 +753,20 @@ KDE_CHECK_TYPES KDE_CHECK_LIBDL KDE_CHECK_STRLCPY - + +# darwin needs this to initialize the environment +AC_CHECK_HEADERS(crt_externs.h) +AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) + +AH_VERBATIM(_DARWIN_ENVIRON, +[ +#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) +# include +# include +# define environ (*_NSGetEnviron()) +#endif +]) + AH_VERBATIM(_AIX_STRINGS_H_BZERO, [ /* @@ -821,7 +830,14 @@ kde_use_qt_emb_palm=no ) -if test "$kde_use_qt_emb" = "no"; then +AC_ARG_ENABLE( + mac, + [ --enable-mac link to Qt/Mac (don't use X)], + kde_use_qt_mac=$enableval, + kde_use_qt_mac=no +) + +if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then AC_MSG_CHECKING(for X) AC_LANG_SAVE @@ -980,7 +996,7 @@ LIB_XEXT="-lXext" QTE_NORTTI="" -else +elif test "$kde_use_qt_emb" = "yes"; then dnl We're using QT Embedded CPPFLAGS=-DQWS CXXFLAGS="$CXXFLAGS -fno-rtti" @@ -988,6 +1004,30 @@ X_PRE_LIBS="" LIB_X11="" LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" + AC_SUBST(X_PRE_LIBS) + AC_SUBST(LIB_X11) + AC_SUBST(LIB_XEXT) + AC_SUBST(LIB_XRENDER) + AC_SUBST(LIBSM) + AC_SUBST(X_INCLUDES) + AC_SUBST(X_LDFLAGS) + AC_SUBST(x_includes) + AC_SUBST(x_libraries) +elif test "$kde_use_qt_mac" = "yes"; then + dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to + dnl be included to get the information) --Sam + CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp" + CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" LIBSM="" X_INCLUDES="" X_LDFLAGS="" @@ -995,6 +1035,8 @@ x_libraries="" AC_SUBST(X_PRE_LIBS) AC_SUBST(LIB_X11) + AC_SUBST(LIB_XEXT) + AC_SUBST(LIB_XRENDER) AC_SUBST(LIBSM) AC_SUBST(X_INCLUDES) AC_SUBST(X_LDFLAGS) @@ -1161,7 +1203,7 @@ CXXFLAGS="$CXXFLAGS -I$qt_includes" LDFLAGS="$LDFLAGS $X_LDFLAGS" -if test "x$kde_use_qt_emb" != "xyes"; then +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then LIBS="$LIBQT -lXext -lX11 $LIBSOCKET" else LIBS="$LIBQT $LIBSOCKET" @@ -1328,7 +1370,7 @@ AC_MSG_CHECKING([for Qt]) -if test "x$kde_use_qt_emb" != "xyes"; then +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" fi ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO @@ -1392,6 +1434,12 @@ if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi done fi +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIBQT="$LIBQT ${kde_int_qt}_incremental" + break + fi +done ac_qt_libraries="$qt_libdir" @@ -1489,12 +1537,18 @@ KDE_CHECK_QT_JPEG -if test "x$kde_use_qt_emb" != "xyes"; then -LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' else -LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)' +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)' fi test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIB_QT="$LIB_QT ${kde_int_qt}_incremental" + break + fi +done AC_SUBST(LIB_QT) AC_SUBST(LIB_QPE) @@ -2301,7 +2355,7 @@ [AC_MSG_CHECKING([for giflib]) AC_CACHE_VAL(ac_cv_lib_gif, [ac_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes"; then +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" else LIBS="$all_libraries -lgif" @@ -2515,7 +2569,7 @@ AC_LANG_SAVE AC_LANG_CPLUSPLUS kde_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes"; then +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" else LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" @@ -2574,7 +2628,7 @@ AC_CACHE_VAL(ac_cv_lib_png, [ kde_save_LIBS="$LIBS" -if test "x$kde_use_qt_emb" != "xyes"; then +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" else LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" @@ -3349,7 +3403,7 @@ AC_LANG_C ac_save_ldflags="$LDFLAGS" ac_save_cflags="$CFLAGS" - if test "x$kde_use_qt_emb" != "xyes"; then + if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" else LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" @@ -3405,7 +3459,7 @@ dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". AC_CACHE_VAL(ac_cv_have_dpms, [ - if test "x$kde_use_qt_emb" = "xyes"; then + if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then AC_MSG_RESULT(no) ac_cv_have_dpms="no" else @@ -3498,7 +3552,7 @@ ac_save_ldflags="$LDFLAGS" ac_save_cxxflags="$CXXFLAGS" LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU" - test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" CXXFLAGS="$CFLAGS $X_INCLUDES" test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" @@ -3508,7 +3562,7 @@ ac_cv_have_gl="mesa", ac_cv_have_gl="no") if test "x$ac_cv_have_gl" = "xno"; then LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL" - test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" CXXFLAGS="$ac_save_cflags $X_INCLUDES" test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" @@ -3579,7 +3633,15 @@ AC_CHECK_LIB(pam, pam_start, [ AC_CHECK_HEADER(security/pam_appl.h, [ use_pam=yes - pam_service=kde ]) + pam_header=security/pam_appl.h + pam_service=kde ], + [ AC_CHECK_HEADER(pam/pam_appl.h, + [ use_pam=yes + pam_header=pam/pam_appl.h + pam_service=kde + AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your pam headers are in pam/ instead of security/]) + ]) + ]) ], , $LIBDL) ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service" ]) @@ -3597,8 +3659,8 @@ dnl test whether struct pam_message is const (Linux) or not (Sun) AC_MSG_CHECKING(for const pam_message) - AC_EGREP_HEADER([struct pam_message], security/pam_appl.h, - [ AC_EGREP_HEADER([const struct pam_message], security/pam_appl.h, + AC_EGREP_HEADER([struct pam_message], $pam_header, + [ AC_EGREP_HEADER([const struct pam_message], $pam_header, [AC_MSG_RESULT([const: Linux-type PAM])], [AC_MSG_RESULT([nonconst: Sun-type PAM]) AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] @@ -4932,7 +4994,18 @@ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) AC_MSG_RESULT([java JRE in $kde_java_bindir]) fi -else # no +elif test -d "/Library/Java/Home"; then + kde_java_bindir="/Library/Java/Home/bin" + jni_includes="-I/Library/Java/Home/include" + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + JVMLIBS="-Xlinker -framework -Xlinker JavaVM" + + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([Apple Java Framework]) +else AC_MSG_RESULT([none found]) fi --------------090807060508030203080908--