This is a multi-part message in MIME format. --------------010803040504030801060908 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit This is an updated version of the MacOSX patches to the admin/ directory, which combines (most) of my admin bits and Sam Magnuson's Qt/Mac build changes. The things that are missing are libtool.m4/ltmain.sh changes, and a couple of minor changes to acinclude.m4.in related to my current hack to all of the makefiles for the kdeinit split. An updated summary of the changes: - moved the _NSGetEnviron bits to an AH_VERBATIM - changed the linker flags to -Xlinker for frameworks to be compatible with libtool 1.5 - many changes to treat Qt/Mac like Qt/Embedded for the most part - change the getdomainname check to use size_t (is this right? it used to be "unsigned int" in 3.1, now I see it's been changed in HEAD admin to just "int") - added to the mkstemp check or else it fails complaining about missing types on osx - changes to pam checks to look in pam/pam_appl.h as well as security/pam_appl.h (fixes to pam-using code will come in a later patch) - find the Apple java framework - add the fink qt3 doc directory to the default QTDOCDIR search Thanks! --------------010803040504030801060908 Content-Type: text/plain; name="admin-macosx-combined.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="admin-macosx-combined.patch" ? .acinclude.m4.in.swp Index: acinclude.m4.in =================================================================== RCS file: /home/kde/kde-common/admin/acinclude.m4.in,v retrieving revision 2.348 diff -u -r2.348 acinclude.m4.in --- acinclude.m4.in 10 Mar 2003 22:14:57 -0000 2.348 +++ acinclude.m4.in 13 Mar 2003 01:22:11 -0000 @@ -716,10 +716,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) @@ -729,7 +725,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 @@ -753,7 +749,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, [ /* @@ -817,7 +826,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 @@ -976,7 +992,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" @@ -996,6 +1012,26 @@ 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="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" + AC_SUBST(X_PRE_LIBS) + AC_SUBST(LIB_X11) + AC_SUBST(LIBSM) + AC_SUBST(X_INCLUDES) + AC_SUBST(X_LDFLAGS) + AC_SUBST(x_includes) + AC_SUBST(x_libraries) fi AC_SUBST(QTE_NORTTI) AC_SUBST(LIB_XEXT) @@ -1157,7 +1193,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" @@ -1324,7 +1360,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 @@ -1388,6 +1424,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" @@ -1485,12 +1527,18 @@ KDE_CHECK_QT_JPEG -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 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' else LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(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) @@ -2128,7 +2176,7 @@ char buffer[200]; getdomainname(buffer, 200); ], - [int getdomainname (char *, int)], + [int getdomainname (char *, size_t)], [GETDOMAINNAME]) ]) @@ -2296,7 +2344,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" @@ -2500,7 +2548,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" @@ -2559,7 +2607,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" @@ -3332,7 +3380,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" @@ -3388,7 +3436,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 @@ -3481,7 +3529,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" @@ -3491,7 +3539,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" @@ -3562,13 +3610,23 @@ 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 ]) + ]) ], , $LIBDL) ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service" ]) ]) eval "$ac_cv_path_pam" + if test "$pam_header" = "pam/pam_appl.h"; then + AC_DEFINE(PAM_HEADER_IN_PAM, 1, [Define if your pam headers are in pam/ instead of security/]) + fi + AC_MSG_CHECKING(for PAM) if test "x$use_pam" = xno; then AC_MSG_RESULT(no) @@ -3578,10 +3636,12 @@ AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" + AC_CHECK_HEADERS([pam/pam_appl.h]) + 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)])] @@ -4910,7 +4970,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 @@ -5065,7 +5136,7 @@ kde_qtdir="$with_qt_dir" fi -AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html ], QTDOCDIR) +AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html $prefix/share/doc/qt3/html ], QTDOCDIR) AC_MSG_RESULT($QTDOCDIR) AC_SUBST(QTDOCDIR) Index: am_edit =================================================================== RCS file: /home/kde/kde-common/admin/am_edit,v retrieving revision 1.360 diff -u -r1.360 am_edit --- am_edit 6 Mar 2003 17:51:02 -0000 1.360 +++ am_edit 13 Mar 2003 01:22:12 -0000 @@ -1044,7 +1044,7 @@ if ($allidls !~ /$source\_kidl/) { $dep_lines .= "$source.kidl: $sourcedir$source.h \$(DCOP_DEPENDENCIES)\n"; - $dep_lines .= "\t\$(DCOPIDL) $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; /bin/false )\n"; + $dep_lines .= "\t\$(DCOPIDL) $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; false )\n"; $allidls .= $source . "_kidl "; } --------------010803040504030801060908--