summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@freedesktop.org>2009-01-15 20:57:42 -0800
committerJeremy Huddleston <jeremyhu@freedesktop.org>2009-01-15 20:57:42 -0800
commitf020900641b44a1142e5c2198e9678de2744454e (patch)
tree9cf52a46659b349ef91e2a198a7b3309d402bd45
parenta5e191578e50a249e67fa26d273db4aca26ee996 (diff)
XQuartz: Fix builddir != srcdir issues and undef _XSERVER64 where appropriate on fat binary compilation
-rw-r--r--configure.ac4
-rw-r--r--hw/xquartz/bundle/Makefile.am5
-rwxr-xr-xhw/xquartz/bundle/mk_bundke.sh16
-rw-r--r--hw/xquartz/mach-startup/Makefile.am4
-rw-r--r--include/dix-config.h.in3
5 files changed, 20 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac
index da5f488f9..a90d40055 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,13 +36,15 @@ dnl don't ever actually use it, internally.
AC_CONFIG_HEADERS(include/do-not-use-config.h)
dnl xorg-server.h is an external header, designed to be included by loadable
dnl drivers.
AC_CONFIG_HEADERS(include/xorg-server.h)
dnl dix-config.h covers most of the DIX (i.e. everything but the DDX, not just
dnl dix/).
-AC_CONFIG_HEADERS(include/dix-config.h)
+AC_CONFIG_HEADERS(include/dix-config.h, [mv include/dix-config.h include/dix-config.h.tmp
+ sed 's|/undef|#undef|' < include/dix-config.h.tmp > include/dix-config.h
+ rm include/dix-config.h.tmp])
dnl xorg-config.h covers the Xorg DDX.
AC_CONFIG_HEADERS(include/xorg-config.h)
dnl xkb-config.h covers XKB for the Xorg and Xnest DDXs.
AC_CONFIG_HEADERS(include/xkb-config.h)
dnl xwin-config.h covers the XWin DDX.
AC_CONFIG_HEADERS(include/xwin-config.h)
diff --git a/hw/xquartz/bundle/Makefile.am b/hw/xquartz/bundle/Makefile.am
index 03fa1ddb1..963327bb9 100644
--- a/hw/xquartz/bundle/Makefile.am
+++ b/hw/xquartz/bundle/Makefile.am
@@ -2,13 +2,16 @@ include cpprules.in
CPP_FILES_FLAGS = \
-DAPPLE_APPLICATION_ID="$(APPLE_APPLICATION_ID)" \
-DAPPLE_APPLICATION_NAME="$(APPLE_APPLICATION_NAME)"
install-data-hook:
- ./mk_bundke.sh $(DESTDIR)$(APPLE_APPLICATIONS_DIR)/$(APPLE_APPLICATION_NAME).app
+ $(srcdir)/mk_bundke.sh $(srcdir) $(builddir) $(DESTDIR)$(APPLE_APPLICATIONS_DIR)/$(APPLE_APPLICATION_NAME).app install
+
+uninstall-hook:
+ $(RM) -rf $(DESTDIR)$(APPLE_APPLICATIONS_DIR)/$(APPLE_APPLICATION_NAME).app
noinst_PRE = Info.plist.cpp
noinst_DATA = $(noinst_PRE:plist.cpp=plist)
CLEANFILES = $(noinst_DATA)
diff --git a/hw/xquartz/bundle/mk_bundke.sh b/hw/xquartz/bundle/mk_bundke.sh
index 7c8d14898..c85b21765 100755
--- a/hw/xquartz/bundle/mk_bundke.sh
+++ b/hw/xquartz/bundle/mk_bundke.sh
@@ -1,28 +1,30 @@
#!/bin/sh
#
# 'Cause xcodebuild is hard to deal with
-BUNDLE_ROOT=$1
+SRCDIR=$1
+BUILDDIR=$2
+BUNDLE_ROOT=$3
localities="Dutch English French German Italian Japanese Spanish da fi ko no pl pt pt_PT ru sv zh_CN zh_TW"
for lang in ${localities} ; do
mkdir -p ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/main.nib
[ -d ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/main.nib ] || exit 1
for f in InfoPlist.strings Localizable.strings main.nib/keyedobjects.nib ; do
- install -m 644 Resources/${lang}.lproj/$f ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/${f}
+ install -m 644 ${SRCDIR}/Resources/${lang}.lproj/$f ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/${f}
done
done
-install -m 644 Resources/English.lproj/main.nib//designable.nib ${BUNDLE_ROOT}/Contents/Resources/English.lproj/main.nib
-install -m 644 Resources/X11.icns ${BUNDLE_ROOT}/Contents/Resources
+install -m 644 ${SRCDIR}/Resources/English.lproj/main.nib//designable.nib ${BUNDLE_ROOT}/Contents/Resources/English.lproj/main.nib
+install -m 644 ${SRCDIR}/Resources/X11.icns ${BUNDLE_ROOT}/Contents/Resources
-install -m 644 Info.plist ${BUNDLE_ROOT}/Contents
-install -m 644 PkgInfo ${BUNDLE_ROOT}/Contents
+install -m 644 ${BUILDDIR}/Info.plist ${BUNDLE_ROOT}/Contents
+install -m 644 ${SRCDIR}/PkgInfo ${BUNDLE_ROOT}/Contents
mkdir -p ${BUNDLE_ROOT}/Contents/MacOS
-install -m 755 X11.sh ${BUNDLE_ROOT}/Contents/MacOS/X11
+install -m 755 ${SRCDIR}/X11.sh ${BUNDLE_ROOT}/Contents/MacOS/X11
if [[ $(id -u) == 0 ]] ; then
chown -R root:admin ${BUNDLE_ROOT}
fi
diff --git a/hw/xquartz/mach-startup/Makefile.am b/hw/xquartz/mach-startup/Makefile.am
index 40060d01b..b0112949d 100644
--- a/hw/xquartz/mach-startup/Makefile.am
+++ b/hw/xquartz/mach-startup/Makefile.am
@@ -62,13 +62,13 @@ BUILT_SOURCES = \
mach_startupServer.h \
mach_startup.h
CLEANFILES = \
$(BUILT_SOURCES)
-$(BUILT_SOURCES): mach_startup.defs
- mig -sheader mach_startupServer.h mach_startup.defs
+$(BUILT_SOURCES): $(srcdir)/mach_startup.defs
+ mig -sheader mach_startupServer.h $(srcdir)/mach_startup.defs
EXTRA_DIST = \
launchd_fd.h \
mach_startup.defs \
mach_startup_types.h
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 8e047c491..e1d226c84 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -431,11 +431,12 @@
/* Correctly set _XSERVER64 for OSX fat binaries */
#ifdef __APPLE__
#if defined(__LP64__) && !defined(_XSERVER64)
#define _XSERVER64 1
#elif !defined(__LP64__) && defined(_XSERVER64)
-#undef _XSERVER64
+/* configure mangles #undef, so we fix this in AC_CONFIG_HEADERS post process */
+/undef _XSERVER64
#endif
#endif
#endif /* _DIX_CONFIG_H_ */