]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: libproc_macro: Build statically
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Wed, 26 Apr 2023 08:31:35 +0000 (10:31 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:34:16 +0000 (18:34 +0100)
We do not need dynamic linking, all use case of this library cover can
be done statically hence the change.

gcc/rust/ChangeLog:

* Make-lang.in: Link against the static libproc_macro.

libgrust/ChangeLog:

* Makefile.am: Remove libtool forwarding.
* Makefile.in: Regenerate.
* libproc_macro/Makefile.am: Creates an archive instead
of using libtool.
* libproc_macro/Makefile.in: Regenerate.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
gcc/rust/Make-lang.in
libgrust/Makefile.am
libgrust/Makefile.in
libgrust/libproc_macro/Makefile.am
libgrust/libproc_macro/Makefile.in

index 74e8886e6a0dfbf59b97c7012c12bb721dc069d5..8ef50b24594a4ab2a46b8a2726cb6470c85c840d 100644 (file)
@@ -182,11 +182,14 @@ RUST_ALL_OBJS = $(GRS_OBJS) $(RUST_TARGET_OBJS)
 
 rust_OBJS = $(RUST_ALL_OBJS) rust/rustspec.o
 
+RUST_LDFLAGS = $(LDFLAGS) -L./../libgrust/libproc_macro
+RUST_LIBDEPS = $(LIBDEPS) ../libgrust/libproc_macro/libproc_macro.a
+
 # The compiler itself is called crab1
-crab1$(exeext): $(RUST_ALL_OBJS) attribs.o $(BACKEND) $(LIBDEPS) $(rust.prev)
+crab1$(exeext): $(RUST_ALL_OBJS) attribs.o $(BACKEND) $(RUST_LIBDEPS) $(rust.prev)
        @$(call LINK_PROGRESS,$(INDEX.rust),start)
-       +$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
-             $(RUST_ALL_OBJS) attribs.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
+       +$(LLINKER) $(ALL_LINKERFLAGS) $(RUST_LDFLAGS) -o $@ \
+             $(RUST_ALL_OBJS) attribs.o $(BACKEND) $(LIBS) ../libgrust/libproc_macro/libproc_macro.a $(BACKENDLIBS)
        @$(call LINK_PROGRESS,$(INDEX.rust),end)
 
 # Build hooks.
@@ -355,7 +358,8 @@ RUST_INCLUDES = -I $(srcdir)/rust \
        -I $(srcdir)/rust/checks/errors \
        -I $(srcdir)/rust/checks/errors/privacy \
        -I $(srcdir)/rust/util \
-        -I $(srcdir)/rust/metadata
+        -I $(srcdir)/rust/metadata \
+               -I $(srcdir)/../libgrust
 
 # add files that require cross-folder includes - currently rust-lang.o, rust-lex.o
 CFLAGS-rust/rust-lang.o += $(RUST_INCLUDES)
index e13686327ec3ecc47e48c5cf0c045c0a602c118d..38ee48a80036ebf0b1e1de12abbb590dc57e078b 100644 (file)
@@ -11,9 +11,6 @@ TOP_GCCDIR := $(shell cd $(top_srcdir) && cd .. && pwd)
 GCC_DIR = $(TOP_GCCDIR)/gcc
 RUST_SRC = $(GCC_DIR)/rust
 
-toolexeclibdir=@toolexeclibdir@
-toolexecdir=@toolexecdir@
-
 SUBDIRS = libproc_macro
 
 RUST_BUILDDIR := $(shell pwd)
@@ -62,7 +59,6 @@ AM_MAKEFLAGS = \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
         "TARGET_LIB_PATH=$(TARGET_LIB_PATH)" \
-        "TARGET_LIB_PATH_libgrust=$(TARGET_LIB_PATH_libgrust)" \
-       "LIBTOOL=$(RUST_BUILDDIR)/libtool"
+        "TARGET_LIB_PATH_librust=$(TARGET_LIB_PATH_librust)"
 
 include $(top_srcdir)/../multilib.am
index bcf0aa070775e0280e42772c5c05ab99839859a6..e9a410b9009de7f02de371ccbae1ff6a0c3a5d90 100644 (file)
@@ -355,8 +355,7 @@ AM_MAKEFLAGS = \
        "DESTDIR=$(DESTDIR)" \
        "WERROR=$(WERROR)" \
         "TARGET_LIB_PATH=$(TARGET_LIB_PATH)" \
-        "TARGET_LIB_PATH_libgrust=$(TARGET_LIB_PATH_libgrust)" \
-       "LIBTOOL=$(RUST_BUILDDIR)/libtool"
+        "TARGET_LIB_PATH_librust=$(TARGET_LIB_PATH_librust)"
 
 MULTISRCTOP = 
 MULTIBUILDTOP = 
index e714362e1e2f2562854cce0e1a8f59b71034a118..0fe221142486db0ab53ccac0bd2da4f31efae166 100644 (file)
@@ -2,7 +2,7 @@ SUFFIXES = .cc .o .a .lo .la
 
 ACLOCAL_AMFLAGS = -I .. -I ../../config
 
-AR=@AR@
+AR = @AR@
 AR_FLAGS = rc
 
 # Work around what appears to be a GNU make bug handling MAKEFLAGS
@@ -48,13 +48,11 @@ AM_MAKEFLAGS = \
         "TARGET_LIB_PATH=$(TARGET_LIB_PATH)"
 
 TARGETLIB = ./libproc_macro.a
-
 LIBOBJS = @LIBOBJS@
-
 objext = @OBJEXT@
 
 REQUIRED_OFILES =                                                      \
-       ./proc_macro.$(objext)
+       ./proc_macro.$(objext) ./literal.$(objext) ./group.$(objext) ./ident.$(objext) ./punct.$(objext) ./tokenstream.$(objext) ./tokentree.$(objext)
 
 all: $(TARGETLIB)
 
@@ -62,4 +60,3 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(LIBOBJS)
        -rm -f $(TARGETLIB)
        $(AR) $(AR_FLAGS) $(TARGETLIB) \
          $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
-
index 9ff1dd69cc37e7e4ee36d0522f6dd2fa598c82fd..6eb5365d1ac9aa37dcbe96dc74caf4cd51570c28 100644 (file)
@@ -311,7 +311,7 @@ AM_MAKEFLAGS = \
 TARGETLIB = ./libproc_macro.a
 objext = @OBJEXT@
 REQUIRED_OFILES = \
-       ./proc_macro.$(objext)
+       ./proc_macro.$(objext) ./literal.$(objext) ./group.$(objext) ./ident.$(objext) ./punct.$(objext) ./tokenstream.$(objext) ./tokentree.$(objext)
 
 all: all-am