]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Makefile stuff, partly from Tom, which uses the SVN-externall'd VEX
authorJulian Seward <jseward@acm.org>
Tue, 26 Jul 2005 10:42:57 +0000 (10:42 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 26 Jul 2005 10:42:57 +0000 (10:42 +0000)
tree a bit better.  Also, fixes to make 'make dist' include into the
final tarball a minimal but workable subset of the stuff in the VEX
directory.

Note, you must do 'make' or 'make install' before 'make dist' since
otherwise VEX/priv/main/vex_svnversion.h will not exist.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4266

Makefile.am
configure.in
coregrind/Makefile.am
coregrind/m_dispatch/Makefile.am
coregrind/m_syswrap/Makefile.am

index 8370e13e92e77721f0237f5b5ec807c7c8121241..0898a37cac7a505cee48d2132e23a3b39912f811 100644 (file)
@@ -46,7 +46,8 @@ EXTRA_DIST = \
        README_MISSING_SYSCALL_OR_IOCTL \
        valgrind.spec.in valgrind.pc.in \
        Makefile.all.am Makefile.tool.am Makefile.core-AM_CPPFLAGS.am \
-       Makefile.tool-inplace.am
+       Makefile.tool-inplace.am \
+       $(VEX_PRIMARY_SOURCES)
 
 install-exec-hook:
        $(mkinstalldirs) $(DESTDIR)$(valdir)
@@ -59,3 +60,66 @@ all-local:
 
 distclean-local:
        rm -rf $(inplacedir)
+
+
+# This lists the bits of vex we need to copy into the tarball
+
+VEX_PRIMARY_SOURCES = \
+       VEX/README \
+       VEX/COPYING \
+       VEX/Makefile \
+       VEX/auxprogs/genoffsets.c \
+       VEX/pub/libvex_guest_amd64.h \
+       VEX/pub/libvex_ir.h \
+       VEX/pub/libvex_guest_ppc32.h \
+       VEX/pub/libvex_basictypes.h \
+       VEX/pub/libvex_guest_offsets.h \
+       VEX/pub/libvex_emwarn.h \
+       VEX/pub/libvex.h \
+       VEX/pub/libvex_trc_values.h \
+       VEX/pub/libvex_guest_arm.h \
+       VEX/pub/libvex_guest_x86.h \
+       VEX/priv/ir/irmatch.c \
+       VEX/priv/ir/irmatch.h \
+       VEX/priv/ir/irdefs.c \
+       VEX/priv/ir/iropt.c \
+       VEX/priv/ir/iropt.h \
+       VEX/priv/host-ppc32/isel.c \
+       VEX/priv/host-ppc32/hdefs.c \
+       VEX/priv/host-ppc32/hdefs.h \
+       VEX/priv/main/vex_svnversion.h \
+       VEX/priv/main/vex_globals.c \
+       VEX/priv/main/vex_globals.h \
+       VEX/priv/main/vex_main.c \
+       VEX/priv/main/vex_util.c \
+       VEX/priv/main/vex_util.h \
+       VEX/priv/guest-arm/ghelpers.c \
+       VEX/priv/guest-arm/gdefs.h \
+       VEX/priv/guest-arm/toIR.c \
+       VEX/priv/guest-x86/ghelpers.c \
+       VEX/priv/guest-x86/gdefs.h \
+       VEX/priv/guest-x86/toIR.c \
+       VEX/priv/guest-generic/g_generic_x87.c \
+       VEX/priv/guest-generic/g_generic_x87.h \
+       VEX/priv/guest-generic/bb_to_IR.c \
+       VEX/priv/guest-generic/bb_to_IR.h \
+       VEX/priv/host-arm/isel.c \
+       VEX/priv/host-arm/hdefs.c \
+       VEX/priv/host-arm/hdefs.h \
+       VEX/priv/host-x86/isel.c \
+       VEX/priv/host-x86/hdefs.c \
+       VEX/priv/host-x86/hdefs.h \
+       VEX/priv/guest-amd64/ghelpers.c \
+       VEX/priv/guest-amd64/gdefs.h \
+       VEX/priv/guest-amd64/toIR.c \
+       VEX/priv/guest-ppc32/ghelpers.c \
+       VEX/priv/guest-ppc32/gdefs.h \
+       VEX/priv/guest-ppc32/toIR.c \
+       VEX/priv/host-generic/reg_alloc2.c \
+       VEX/priv/host-generic/h_generic_regs.c \
+       VEX/priv/host-generic/h_generic_regs.h \
+       VEX/priv/host-generic/h_generic_simd64.c \
+       VEX/priv/host-generic/h_generic_simd64.h \
+       VEX/priv/host-amd64/isel.c \
+       VEX/priv/host-amd64/hdefs.c \
+       VEX/priv/host-amd64/hdefs.h
index e2d4b1aee25ac0e7f047e07673e16eb13f0150f2..98807078df1faef601fbb2dd4524e95216f422fe 100644 (file)
@@ -10,17 +10,17 @@ AM_MAINTAINER_MODE
 # Nb: For the 2nd arg, the help string, AS_HELP_STRING is the proper way, but
 #     older autoconfs don't support it... here's what it would say:
 #
-#    AS_HELP_STRING([--with-vex], [Vex directory (must be specified!)]),
+#    AS_HELP_STRING([--with-vex], [Vex directory]),
 #
 AC_ARG_WITH(vex, 
-    [  --with-vex=/path/to/vex/dir    Vex directory (must be specified!)],
+    [  --with-vex=/path/to/vex/dir    Vex directory],
 [
     AC_CHECK_FILE($withval/pub/libvex.h,
         [VEX_DIR=$withval],
         [AC_MSG_ERROR([Directory '$withval' does not exist, or does not contain Vex])])
 ],
 [
-    AC_MSG_ERROR([You must specify --with-vex=/path/to/vex/dir])
+    VEX_DIR=`pwd`/VEX
 ])
 AC_SUBST(VEX_DIR)
 
index 978e8bb6651567e7f648cc33306828eb1a670827..a84be3d7bcc260493220f749f50c1c6bb690436f 100644 (file)
@@ -82,7 +82,7 @@ noinst_HEADERS = \
 
 BUILT_SOURCES = stage2.lds
 CLEANFILES = stage2.lds
-       
+
 valgrind_SOURCES = \
        stage1.c \
        m_debuglog.c \
@@ -195,6 +195,15 @@ stage2.lds: Makefile
                -e '/\. = 0x[0-9A-Fa-f]\+ + SIZEOF_HEADERS/s/0x[0-9A-Fa-f]\+/kickstart_base/g' > $@ \
        || rm -f $@
 
+@VEX_DIR@/libvex.a: @VEX_DIR@/priv/main/vex_svnversion.h
+       $(MAKE) -C @VEX_DIR@ libvex.a EXTRA_CFLAGS="@PIE_AM_CFLAGS@"
+
+@VEX_DIR@/priv/main/vex_svnversion.h:
+       $(MAKE) -C @VEX_DIR@ version
+
+clean-local:
+       $(MAKE) -C @VEX_DIR@ clean
+
 MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS)
 
 all-local:
index 3af6290e05ef07547b598a58909c9d5ad7def7c3..a6045dc6919f247c23070567936561a46f0b80ac 100644 (file)
@@ -9,3 +9,8 @@ EXTRA_DIST = \
 
 libdispatch_a_SOURCES = \
        dispatch-@VG_ARCH@.S
+
+dispatch-@VG_ARCH@.S: libvex_guest_offsets.h
+
+libvex_guest_offsets.h:
+       $(MAKE) -C @VEX_DIR@ pub/libvex_guest_offsets.h
index a08df24c05b0f5dbb9a447499f6dd1c3a213ca2e..cddaa91d6ae0192e5d63f4464f2c5d2e85868ccc 100644 (file)
@@ -21,3 +21,9 @@ libsyswrap_a_SOURCES = \
        syswrap-@VG_OS@.c \
        syswrap-@VG_PLATFORM@.c \
        syswrap-main.c
+
+syscall-@VG_PLATFORM@.S: libvex_guest_offsets.h
+syswrap-main.c: libvex_guest_offsets.h
+
+libvex_guest_offsets.h:
+       $(MAKE) -C @VEX_DIR@ pub/libvex_guest_offsets.h