From: Miguel de Icaza Date: Thu, 8 Jan 2009 23:55:46 +0000 (-0000) Subject: move dtrace-prelink.sh out of the top dir X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=c54becc50ffec99fa95fb19583204048336f9384;hp=-c;p=mono.git move dtrace-prelink.sh out of the top dir svn path=/trunk/mono/; revision=122843 --- c54becc50ffec99fa95fb19583204048336f9384 diff --combined Makefile.am index efef751ba71,efef751ba71..083bb8260e1 --- a/Makefile.am +++ b/Makefile.am @@@ -7,7 -7,7 +7,7 @@@ SUBDIRS = po $(libgc_dir) $(eglib_dir) ## 'tools' is not normally built DIST_SUBDIRS = po libgc $(eglib_dir) mono ikvm-native support data runtime scripts man samples web tools msvc docs --EXTRA_DIST= nls.m4 po.m4 progtest.m4 mono-uninstalled.pc.in dtrace-prelink.sh build-mingw32.sh LICENSE mkinstalldirs ++EXTRA_DIST= nls.m4 po.m4 progtest.m4 mono-uninstalled.pc.in build-mingw32.sh LICENSE mkinstalldirs DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_MCS=false EXTERNAL_RUNTIME=false diff --combined data/Makefile.am index e7ecc5bf8cf,e7ecc5bf8cf..a330fe4997d --- a/data/Makefile.am +++ b/data/Makefile.am @@@ -7,7 -7,7 +7,8 @@@ EXTRA_DIST = browscap.ini mono.supp mono.d README \ mono.pc.in mint.pc.in dotnet.pc.in dotnet35.pc.in wcf.pc.in monodoc.pc.in \ mono-nunit.pc.in mono-cairo.pc.in mono-options.pc.in cecil.pc.in smcs.pc.in \ -- mono-lineeditor.pc.in system.web.extensions_1.0.pc.in system.web.extensions.design_1.0.pc.in ++ mono-lineeditor.pc.in system.web.extensions_1.0.pc.in system.web.extensions.design_1.0.pc.in\ ++ dtrace-prelink.sh pkgconfigdir = $(libdir)/pkgconfig diff --combined data/dtrace-prelink.sh index 00000000000,00000000000..cb6508f0cef new file mode 100644 --- /dev/null +++ b/data/dtrace-prelink.sh @@@ -1,0 -1,0 +1,74 @@@ ++#!/bin/sh ++# ++# dtrace-prelink.sh: DTrace helper script for Mono ++# ++# Authors: ++# Andreas Faerber ++# ++ ++# Assume that PIC object files live in .libs/, non-PIC code in ./ ++PIC=no ++if test "$1" = "--pic"; then ++ PIC=yes ++ shift ++fi ++ ++OBJ="$1" ++PROV="$2" ++ ++shift ++shift ++ ++FILES="$*" ++ ++OBJS= ++TMPDIR=.dtrace ++mkdir -p "${TMPDIR}" ++ ++# Extract relevant object files to temporary directories ++for FILE in ${FILES}; do ++ if echo "${FILE}" | grep .la > /dev/null; then ++ LIBDIR=`dirname ${FILE}` ++ LIB=".libs/`basename ${FILE} .la`.a" ++ DIR="${TMPDIR}/`basename ${FILE}`" ++ mkdir -p ${DIR} ++ (cd "${DIR}" && ${AR} x "../../${LIBDIR}/${LIB}") ++ TMPOBJS=`ls -1 "${DIR}"` ++ for TMPOBJ in ${TMPOBJS}; do ++ LO=`basename "${TMPOBJ}" .o`.lo ++ SRCOBJ="${TMPOBJ}" ++ if test x${PIC} = xyes; then ++ SRCOBJ=".libs/${SRCOBJ}" ++ fi ++ # Overwrite with original version ++ cp "${LIBDIR}/${SRCOBJ}" "${DIR}/${TMPOBJ}" || cp "${LIBDIR}/${TMPOBJ}" "${DIR}/${TMPOBJ}" || exit ++ # Add to list ++ OBJS="${OBJS} ${DIR}/${TMPOBJ}" ++ done ++ fi ++ if echo "${FILE}" | grep .lo > /dev/null; then ++ DIR=`dirname ${FILE}` ++ SRCOBJ=`basename ${FILE} .lo`.o ++ if test x${PIC} = xyes; then ++ SRCOBJ=".libs/${SRCOBJ}" ++ fi ++ OBJS="${OBJS} ${DIR}/${SRCOBJ}" ++ fi ++done ++ ++# Run dtrace -G over the temporary objects ++${DTRACE} -G ${DTRACEFLAGS} -s "${PROV}" -o "${OBJ}" ${OBJS} || exit ++ ++# Update the archives with the temporary, modified object files so that they are linked in ++for FILE in ${FILES}; do ++ if echo "${FILE}" | grep .la > /dev/null; then ++ LIBDIR=`dirname ${FILE}` ++ LIB=".libs/`basename ${FILE} .la`.a" ++ DIR="${TMPDIR}/`basename ${FILE}`" ++ (cd "${DIR}" && ${AR} r "../../${LIBDIR}/${LIB}" *.o) ++ fi ++ # .lo files were modified in-place ++done ++ ++rm -rf "${TMPDIR}" ++ diff --combined dtrace-prelink.sh index cb6508f0cef,cb6508f0cef..00000000000 deleted file mode 100644,100644 --- a/dtrace-prelink.sh +++ /dev/null @@@ -1,74 -1,74 +1,0 @@@ --#!/bin/sh --# --# dtrace-prelink.sh: DTrace helper script for Mono --# --# Authors: --# Andreas Faerber --# -- --# Assume that PIC object files live in .libs/, non-PIC code in ./ --PIC=no --if test "$1" = "--pic"; then -- PIC=yes -- shift --fi -- --OBJ="$1" --PROV="$2" -- --shift --shift -- --FILES="$*" -- --OBJS= --TMPDIR=.dtrace --mkdir -p "${TMPDIR}" -- --# Extract relevant object files to temporary directories --for FILE in ${FILES}; do -- if echo "${FILE}" | grep .la > /dev/null; then -- LIBDIR=`dirname ${FILE}` -- LIB=".libs/`basename ${FILE} .la`.a" -- DIR="${TMPDIR}/`basename ${FILE}`" -- mkdir -p ${DIR} -- (cd "${DIR}" && ${AR} x "../../${LIBDIR}/${LIB}") -- TMPOBJS=`ls -1 "${DIR}"` -- for TMPOBJ in ${TMPOBJS}; do -- LO=`basename "${TMPOBJ}" .o`.lo -- SRCOBJ="${TMPOBJ}" -- if test x${PIC} = xyes; then -- SRCOBJ=".libs/${SRCOBJ}" -- fi -- # Overwrite with original version -- cp "${LIBDIR}/${SRCOBJ}" "${DIR}/${TMPOBJ}" || cp "${LIBDIR}/${TMPOBJ}" "${DIR}/${TMPOBJ}" || exit -- # Add to list -- OBJS="${OBJS} ${DIR}/${TMPOBJ}" -- done -- fi -- if echo "${FILE}" | grep .lo > /dev/null; then -- DIR=`dirname ${FILE}` -- SRCOBJ=`basename ${FILE} .lo`.o -- if test x${PIC} = xyes; then -- SRCOBJ=".libs/${SRCOBJ}" -- fi -- OBJS="${OBJS} ${DIR}/${SRCOBJ}" -- fi --done -- --# Run dtrace -G over the temporary objects --${DTRACE} -G ${DTRACEFLAGS} -s "${PROV}" -o "${OBJ}" ${OBJS} || exit -- --# Update the archives with the temporary, modified object files so that they are linked in --for FILE in ${FILES}; do -- if echo "${FILE}" | grep .la > /dev/null; then -- LIBDIR=`dirname ${FILE}` -- LIB=".libs/`basename ${FILE} .la`.a" -- DIR="${TMPDIR}/`basename ${FILE}`" -- (cd "${DIR}" && ${AR} r "../../${LIBDIR}/${LIB}" *.o) -- fi -- # .lo files were modified in-place --done -- --rm -rf "${TMPDIR}" --