This patch introduces a libgas.la, using it for the "as" executable.
I'm not convinced I've got this correct, but it seems to work well enough to prototype the embedding within libgccjit.so. --- gas/Makefile.am | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/gas/Makefile.am b/gas/Makefile.am index 5161b5e..c87546a 100644 --- a/gas/Makefile.am +++ b/gas/Makefile.am @@ -402,14 +402,22 @@ GASLIBS = @OPCODES_LIB@ ../bfd/libbfd.la ../libiberty/libiberty.a # Files to be copied away after each stage in building. STAGESTUFF = *.@OBJEXT@ $(noinst_PROGRAMS) -as_new_SOURCES = $(GAS_CFILES) -as_new_LDADD = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \ - $(extra_objects) $(GASLIBS) $(LIBINTL) $(LIBM) -as_new_DEPENDENCIES = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \ - $(extra_objects) $(GASLIBS) $(LIBINTL_DEP) -EXTRA_as_new_SOURCES = $(CFILES) $(HFILES) $(TARGET_CPU_CFILES) \ - $(TARGET_CPU_HFILES) $(OBJ_FORMAT_CFILES) $(OBJ_FORMAT_HFILES) \ - $(TARG_ENV_CFILES) $(CONFIG_ATOF_CFILES) $(MULTI_CFILES) +include_HEADERS = libgas.h + +as_new_SOURCES = asmain.c +as_new_LDADD = libgas.la + +lib_LTLIBRARIES = libgas.la + +libgas_la_SOURCES = $(GAS_CFILES) \ + $(TARG_CPU_C) \ + $(OBJ_FORMAT_C) \ + $(ATOF_TARG_C) +libgas_la_LIBADD = $(extra_objects) $(GASLIBS) $(LIBINTL) $(LIBM) +libgas_la_DEPENDENCIES = $(extra_objects) $(GASLIBS) $(LIBINTL_DEP) +EXTRA_libgas_la_SOURCES = $(CFILES) +libgas_la_CFLAGS = $(AM_CFLAGS) +# -fPIC ??? EXPECT = expect RUNTEST = runtest @@ -437,7 +445,7 @@ check-DEJAGNU: site.exp # The m68k operand parser. -EXTRA_as_new_SOURCES += config/m68k-parse.y config/bfin-parse.y +EXTRA_libgas_la_SOURCES += config/m68k-parse.y config/bfin-parse.y # If m68k-parse.y is in a different directory, then ylwrap will use an # absolute path when it invokes yacc, which will cause yacc to put the -- 1.8.5.3