configure.ac: Set srcdir when sourcing config-lang.in fragments.
authorNathan Sidwell <nathan@acm.org>
Mon, 3 Jul 2017 14:16:59 +0000 (14:16 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Mon, 3 Jul 2017 14:16:59 +0000 (14:16 +0000)
* configure.ac: Set srcdir when sourcing config-lang.in fragments.
* configure: Rebuilt.

gcc/objcp/
* config-lang.in: Source cp/config-lang.in, sort objc++ gtfiles list.

From-SVN: r249922

ChangeLog
configure
configure.ac
gcc/objcp/ChangeLog
gcc/objcp/config-lang.in

index 2d2c0bf7fafdbe70a1b328565037204a796dacbb..f0af90c07df8d06352ab30ec9756785141e75d35 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-07-03  Nathan Sidwell  <nathan@acm.org>
+
+       * configure.ac: Set srcdir when sourcing config-lang.in fragments.
+       * configure: Rebuilt.
+
 2017-07-03  Bernd Schmidt  <bschmidt@redhat.com>
 
        * MAINTAINERS: Readd myself for c6x.
index 084986f475e6ade045c58b57ef22b49b7770a0ff..8559fb6e9639a966ebe60356ea3618097415a1da 100755 (executable)
--- a/configure
+++ b/configure
@@ -6166,7 +6166,12 @@ if test -d ${srcdir}/gcc; then
         language=
         lang_requires=
         lang_requires_boot_languages=
-        . ${lang_frag}
+        # set srcdir during sourcing lang_frag to the gcc dir.
+        # Sadly overriding srcdir on the . line doesn't work in plain sh as it
+        # polutes this shell
+        saved_srcdir=${srcdir}
+        srcdir=${srcdir}/gcc . ${lang_frag}
+        srcdir=${saved_srcdir}
         for other in ${lang_requires} ${lang_requires_boot_languages}; do
           case ,${enable_languages}, in
            *,$other,*) ;;
@@ -6241,7 +6246,10 @@ if test -d ${srcdir}/gcc; then
         subdir_requires=
         boot_language=no
         build_by_default=yes
-        . ${lang_frag}
+        # set srcdir during sourcing.  See above about save & restore
+        saved_srcdir=${srcdir}
+        srcdir=${srcdir}/gcc . ${lang_frag}
+        srcdir=${saved_srcdir}
         if test x${language} = x; then
           echo "${lang_frag} doesn't set \$language." 1>&2
           exit 1
index 0cf052b2c756eadd2e105ac61966e9f855afe315..24645d88cf96acb6c5421fd2c4903c66fb5b5d6c 100644 (file)
@@ -1839,7 +1839,12 @@ if test -d ${srcdir}/gcc; then
         language=
         lang_requires=
         lang_requires_boot_languages=
-        . ${lang_frag}
+        # set srcdir during sourcing lang_frag to the gcc dir.
+        # Sadly overriding srcdir on the . line doesn't work in plain sh as it
+        # polutes this shell
+        saved_srcdir=${srcdir}
+        srcdir=${srcdir}/gcc . ${lang_frag}
+        srcdir=${saved_srcdir}
         for other in ${lang_requires} ${lang_requires_boot_languages}; do
           case ,${enable_languages}, in
            *,$other,*) ;;
@@ -1914,7 +1919,10 @@ if test -d ${srcdir}/gcc; then
         subdir_requires=
         boot_language=no
         build_by_default=yes
-        . ${lang_frag}
+        # set srcdir during sourcing.  See above about save & restore
+        saved_srcdir=${srcdir}
+        srcdir=${srcdir}/gcc . ${lang_frag}
+        srcdir=${saved_srcdir}
         if test x${language} = x; then
           echo "${lang_frag} doesn't set \$language." 1>&2
           exit 1
index 817b6d466f3489c8a285bf18647411dc0158e201..5b4b6bdf2f02eccf4593750e129b4171a2923246 100644 (file)
@@ -1,3 +1,7 @@
+2017-07-03  Nathan Sidwell  <nathan@acm.org>
+
+       * config-lang.in: Source cp/config-lang.in, sort objc++ gtfiles list.
+
 2017-06-02  Nathan Sidwell  <nathan@acm.org>
 
        * objcp-decl.h (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Use lang_type.
index 0418094749243f860f3e85fdbbdd4d9e4b629f08..5d2b1de8e5af8beda51465233aca03dfbeef3286 100644 (file)
@@ -43,8 +43,20 @@ subdir_requires="objc cp"
 # avoid having the GC stuff from that header being added to gtype-cp.h
 # or gtype-objc.h.
 
-# This list is separated in two parts: the first one is identical to
-# the C++ one, the second one contains our ObjC++ additions.
-gtfiles="\$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.h \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c \$(srcdir)/cp/except.c \$(srcdir)/cp/vtable-class-hierarchy.c \$(srcdir)/cp/constexpr.c \$(srcdir)/cp/cp-gimplify.c \
-\$(srcdir)/objc/objc-map.h \$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c-family/c-cppbuiltin.c"
+# Get the C++ FE's gtfiles list.  Do this in a subshell, so we can
+# extract exactly the gtfiles var, but munge cp-lang.c into objcp-lang.c.
+gtfiles="$(. $srcdir/cp/config-lang.in ; \
+  echo $gtfiles | sed 's+/cp/cp-lang.c +/objcp/objcp-lang.c +')"
+
+# Now add our special bits to it.  Please keep this list sorted.
+gtfiles="$gtfiles \
+\$(srcdir)/objc/objc-act.h \
+\$(srcdir)/objc/objc-map.h \
+\$(srcdir)/c-family/c-cppbuiltin.c \
+\$(srcdir)/objc/objc-act.c \
+\$(srcdir)/objc/objc-gnu-runtime-abi-01.c \
+\$(srcdir)/objc/objc-next-runtime-abi-01.c \
+\$(srcdir)/objc/objc-next-runtime-abi-02.c \
+\$(srcdir)/objc/objc-runtime-shared-support.c \
+"