[Xquartz-changes] [651] trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Aug 28 22:47:29 PDT 2012


Revision: 651
          http://trac.macosforge.org/projects/xquartz/changeset/651
Author:   jeremyhu at freedesktop.org
Date:     2012-08-28 22:47:27 -0700 (Tue, 28 Aug 2012)
Log Message:
-----------
Create a directory of dSYMs when building

Modified Paths:
--------------
    trunk/compile-xserver.sh
    trunk/mk_x11_dist.sh

Modified: trunk/compile-xserver.sh
===================================================================
--- trunk/compile-xserver.sh	2012-08-28 05:38:24 UTC (rev 650)
+++ trunk/compile-xserver.sh	2012-08-29 05:47:27 UTC (rev 651)
@@ -10,7 +10,7 @@
 
 # Parallel Make.  Change $MAKE if you don't have gmake installed
 MAKE="gnumake"
-MAKE_OPTS="-j3"
+MAKE_OPTS="-j12"
 
 . ~/src/strip.sh
 
@@ -28,7 +28,7 @@
 
 CPPFLAGS="-DNO_ALLOCA -D_FORTIFY_SOURCE=2 -DFAIL_HARD -DFAKEIT"
 
-CFLAGS="$CFLAGS -pipe -O1"
+CFLAGS="$CFLAGS -pipe -O0"
 CFLAGS="$CFLAGS -g3 -gdwarf-2"
 CFLAGS="$CFLAGS $ARCHFLAGS"
 CFLAGS="$CFLAGS -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers"
@@ -87,7 +87,7 @@
 }
 
 docomp() {
-	PATH=/opt/local/bin:${PATH} autoreconf -fvi || die
+	#PATH=/opt/local/bin:${PATH} autoreconf -fvi || die
 	${SCAN_BUILD} ./configure --prefix=${PREFIX} ${CONFOPT} --disable-dependency-tracking --enable-maintainer-mode --enable-xcsecurity --enable-record --disable-xevie "${@}" || die "Could not configure xserver"
 	${MAKE} clean || die "Unable to make clean"
 	${SCAN_BUILD} ${MAKE} ${MAKE_OPTS} || die "Could not make xserver"

Modified: trunk/mk_x11_dist.sh
===================================================================
--- trunk/mk_x11_dist.sh	2012-08-28 05:38:24 UTC (rev 650)
+++ trunk/mk_x11_dist.sh	2012-08-29 05:47:27 UTC (rev 651)
@@ -132,38 +132,43 @@
 	fi
 fi
 
+BUILDRECORDS="$(/usr/bin/mktemp -d ${TMPDIR-/tmp}/X11roots.XXXXXX)"
+chown jeremy "${BUILDRECORDS}"
+
 bit() {
-	local MERGE_ROOT
-	if [[ "${MERGE_DIRS/ /}" == "${MERGE_DIRS}" ]] ; then
-		MERGE_ROOT="${MERGE_DIRS}"
-		mkdir -p ${MERGE_ROOT}
-	else
-		MERGE_ROOT="$(/usr/bin/mktemp -d ${TMPDIR-/tmp}/X11dst.XXXXXX)"
-	fi
+	local PROJECT="${1}" ; shift
+	local SRCROOT="${1}" ; shift
+	local DSTROOT="${BUILDRECORDS}/${PROJECT}.roots/${PROJECT}~dst"
+	local SYMROOT="${BUILDRECORDS}/${PROJECT}.roots/${PROJECT}~sym"
 
-	[[ -d "${MERGE_ROOT}" ]] || die
-	${BUILDIT} "${@}" -merge "${MERGE_ROOT}" || die
+	pushd "${SRCROOT}" || die
+	${BUILDIT} -rootsDirectory "${BUILDRECORDS}" -project "${PROJECT}" . "${@}" || die
+	popd || die
 
-	if [[ "${MERGE_DIRS/ /}" == "${MERGE_DIRS}" ]] ; then
-		if [[ -n "${MERGE_ROOT}" && "${MERGE_ROOT}" != "/" ]] ; then
-			/bin/rm -rf ${MERGE_ROOT}/usr/local
-			/bin/rmdir ${MERGE_ROOT}/usr >& /dev/null
+	local MERGE_DIR
+	echo ""
+	for MERGE_DIR in ${MERGE_DIRS}; do
+		echo "*** mk_x11_dist.sh ***: Merging into root: ${MERGE_DIR}" || die
+		mkdir -p "${MERGE_DIR}" || die
+		ditto "${DSTROOT}" "${MERGE_DIR}" || die
+
+		if [[ -n "${MERGE_DIR}" && "${MERGE_DIR}" != "/" ]] ; then
+			/bin/rm -rf "${MERGE_DIR}"/usr/local
+			/bin/rmdir "${MERGE_DIR}"/usr >& /dev/null
+
+			mkdir -p "${MERGE_DIR}.dSYMS"
+			find "${SYMROOT}" -type d -name '*.dSYM' | while read dsym ; do
+				local file_basename="${dsym##*/}"
+				file_basename="${file_basename%.dSYM}"
+				file=$(find "${DSTROOT}" -type f -name "${file_basename}")
+
+				local dirname="${file#${DSTROOT}}"
+				dirname="${dirname%/*}"
+
+				ditto "${dsym}" "${MERGE_DIR}.dSYMS/${dirname}/${file_basename}.dSYM"
+			done
 		fi
-	else
-		local MERGE_DIR
-		echo ""
-		for MERGE_DIR in ${MERGE_DIRS}; do
-			echo "*** mk_x11_dist.sh ***: Merging into root: ${MERGE_DIR}" || die
-			mkdir -p ${MERGE_DIR} || die
-			ditto ${MERGE_ROOT} ${MERGE_DIR} || die
-
-			if [[ -n "${MERGE_DIR}" && "${MERGE_DIR}" != "/" ]] ; then
-				/bin/rm -rf ${MERGE_DIR}/usr/local
-				/bin/rmdir ${MERGE_DIR}/usr >& /dev/null
-			fi
-		done
-		rm -rf ${MERGE_ROOT}
-	fi
+	done
 }
 
 bit_git() {
@@ -172,24 +177,22 @@
 	[[ "${branch}" == "trunk" ]] && branch="master"
 
 	if [[ -n "${branch}" && -d "${proj}" ]] ; then
-		pushd ${proj}
+		pushd "${proj}"
 		git checkout "${branch}" || die "Unable to checkout ${branch}"
-		bit . -project ${proj} "${@}"
+		bit "${proj}" . "${@}"
 		popd
 	fi
 }
 
-[[ -n ${XPLUGIN} ]]      && bit_git X11_Xplugin "${XPLUGIN}" ${ARCH_ALL} 
-[[ -n ${X11MISC} ]]     && bit X11misc/${X11MISC}        -project X11misc       ${ARCH_ALL}
-[[ -n ${X11PROTO} ]]    && bit X11proto/${X11PROTO}      -project X11proto      ${ARCH_ALL}
-[[ -n ${X11LIBS} ]]     && bit X11libs/${X11LIBS}        -project X11libs       ${ARCH_ALL}
-[[ -n ${QUARTZWM} ]]    && bit X11_quartz_wm/${QUARTZWM} -project X11_quartz_wm ${ARCH_ALL}
-[[ -n ${X11SERVER} ]]   && bit X11server/${X11SERVER}    -project X11server     ${ARCH_ALL}
-[[ -n ${X11APPS} ]]     && bit X11apps/${X11APPS}        -project X11apps       ${ARCH_ALL}
-[[ -n ${X11FONTS} ]]    && bit X11fonts/${X11FONTS}      -project X11fonts      ${ARCH_ALL}
+[[ -n ${XPLUGIN} ]]     && bit_git X11_Xplugin   "${XPLUGIN}"              ${ARCH_ALL}
+[[ -n ${X11MISC} ]]     && bit     X11misc       X11misc/${X11MISC}        ${ARCH_ALL}
+[[ -n ${X11PROTO} ]]    && bit     X11proto      X11proto/${X11PROTO}      ${ARCH_ALL}
+[[ -n ${X11LIBS} ]]     && bit     X11libs       X11libs/${X11LIBS}        ${ARCH_ALL}
+[[ -n ${QUARTZWM} ]]    && bit     X11_quartz_wm X11_quartz_wm/${QUARTZWM} ${ARCH_ALL}
+[[ -n ${X11SERVER} ]]   && bit     X11server     X11server/${X11SERVER}    ${ARCH_ALL}
+[[ -n ${X11APPS} ]]     && bit     X11apps       X11apps/${X11APPS}        ${ARCH_ALL}
+[[ -n ${X11FONTS} ]]    && bit     X11fonts      X11fonts/${X11FONTS}      ${ARCH_ALL}
 
-[[ -n ${X11SERVER} ]] && echo "Remember to edit the plists"
-
 INFO_PLIST="$(eval echo ~jeremy)/src/freedesktop/pkg/X11/Applications/Utilities/XQuartz.app/Contents/Info.plist"
 if [[ -n ${VERSION} ]] ; then
 	defaults write "${INFO_PLIST}" CFBundleVersion "${VERSION}"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/xquartz-changes/attachments/20120828/a2938b18/attachment-0001.html>


More information about the Xquartz-changes mailing list