Skip to content
This repository has been archived by the owner on Jun 20, 2019. It is now read-only.

Commit

Permalink
Merge pull request #249 from jpf91/fix244
Browse files Browse the repository at this point in the history
Do not compile .c and .S files in D mode
  • Loading branch information
jpf91 authored Oct 7, 2016
2 parents 1cca265 + 514ac29 commit 796f6a8
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 37 deletions.
25 changes: 23 additions & 2 deletions libphobos/d_rules.am
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,33 @@ LTDCOMPILE = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@:

# Override executable linking commands: We have to use GDC for linking
unittest_static_LINK = $(LIBTOOL) --tag=CC \
# to make sure we link pthreads and other dependencies
unittest_static_LINK = $(LIBTOOL) --tag=D \
$(unittest_static_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(unittest_static_LDFLAGS) \
$(LDFLAGS) -o $@

unittest_LINK = $(LIBTOOL) --tag=CC \
unittest_LINK = $(LIBTOOL) --tag=D \
$(unittest_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(unittest_LDFLAGS) \
$(LDFLAGS) -o $@

# Also override library link commands: This is not strictly
# required, but we want to record additional dependencies such
# as pthread in the library
libgdruntime_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgdruntime_la_LDFLAGS) $(LDFLAGS) -o $@

libgdruntime_t_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgdruntime_t_la_LDFLAGS) $(LDFLAGS) -o $@

libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@

libgphobos_t_la_LINK = $(LIBTOOL) --tag=D \
$(libgphobos_t_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(libgphobos_t_la_LDFLAGS) \
$(LDFLAGS) -o $@
8 changes: 4 additions & 4 deletions libphobos/libdruntime/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -89,21 +89,21 @@ endif

toolexeclib_LTLIBRARIES = libgdruntime.la
libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
libgdruntime_la_LIBTOOLFLAGS = --tag=D
libgdruntime_la_LIBTOOLFLAGS =
libgdruntime_la_LDFLAGS = -Xcompiler -nophoboslib $(DRUNTIME_VER_FLAG)
libgdruntime_la_LIBADD = $(BACKTRACE_LIB) $(LIBADD_DLOPEN)

# For static unittest, link objects directly
unittest_static_SOURCES = test_runner.d $(DRUNTIME_CSOURCES) \
$(DRUNTIME_SSOURCES)
unittest_static_LIBTOOLFLAGS = --tag=D
unittest_static_LIBTOOLFLAGS =
unittest_static_LDFLAGS = -Xcompiler -nophoboslib
unittest_static_LDADD = $(DRUNTIME_TEST_OBJECTS) $(BACKTRACE_LIB)
EXTRA_unittest_static_DEPENDENCIES = $(DRUNTIME_TEST_OBJECTS)

# For unittest with dynamic library
libgdruntime_t_la_SOURCES = $(DRUNTIME_CSOURCES) $(DRUNTIME_SSOURCES)
libgdruntime_t_la_LIBTOOLFLAGS = --tag=D
libgdruntime_t_la_LIBTOOLFLAGS =
# Automake by default does not generate shared libs for non-installed
# libraries. Use -rpath to force shared lib generation.
libgdruntime_t_la_LDFLAGS = -Xcompiler -nophoboslib -rpath /foo -shared
Expand All @@ -113,7 +113,7 @@ EXTRA_libgdruntime_t_la_DEPENDENCIES = $(DRUNTIME_TEST_LOBJECTS)

# For unittest
unittest_SOURCES = test_runner.d
unittest_LIBTOOLFLAGS = --tag=D
unittest_LIBTOOLFLAGS =
unittest_LDFLAGS = -Xcompiler -nophoboslib
unittest_LDADD = libgdruntime_t.la

Expand Down
42 changes: 28 additions & 14 deletions libphobos/libdruntime/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -268,21 +268,13 @@ am__objects_21 = libgdruntime_la-threadasm.lo
am__objects_22 = $(am__objects_19) $(am__objects_20) $(am__objects_21)
am_libgdruntime_la_OBJECTS = $(am__objects_22)
libgdruntime_la_OBJECTS = $(am_libgdruntime_la_OBJECTS)
libgdruntime_la_LINK = $(LIBTOOL) --tag=CC \
$(libgdruntime_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(CCLD) $(AM_CFLAGS) $(CFLAGS) $(libgdruntime_la_LDFLAGS) \
$(LDFLAGS) -o $@
libgdruntime_t_la_DEPENDENCIES = $(DRUNTIME_TEST_LOBJECTS) \
$(BACKTRACE_LIB) $(am__DEPENDENCIES_1)
am__objects_23 = libgdruntime_t_la-errno_.lo \
libgdruntime_t_la-bss_section.lo
am__objects_24 = libgdruntime_t_la-threadasm.lo
am_libgdruntime_t_la_OBJECTS = $(am__objects_23) $(am__objects_24)
libgdruntime_t_la_OBJECTS = $(am_libgdruntime_t_la_OBJECTS)
libgdruntime_t_la_LINK = $(LIBTOOL) --tag=CC \
$(libgdruntime_t_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(CCLD) $(AM_CFLAGS) $(CFLAGS) $(libgdruntime_t_la_LDFLAGS) \
$(LDFLAGS) -o $@
@ENABLE_SHARED_TRUE@am_libgdruntime_t_la_rpath =
@ENABLE_SHARED_TRUE@am__EXEEXT_1 = unittest$(EXEEXT)
@ENABLE_STATIC_TRUE@am__EXEEXT_2 = unittest_static$(EXEEXT)
Expand Down Expand Up @@ -469,17 +461,39 @@ LTDCOMPILE = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \


# Override executable linking commands: We have to use GDC for linking
unittest_static_LINK = $(LIBTOOL) --tag=CC \
# to make sure we link pthreads and other dependencies
unittest_static_LINK = $(LIBTOOL) --tag=D \
$(unittest_static_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(unittest_static_LDFLAGS) \
$(LDFLAGS) -o $@

unittest_LINK = $(LIBTOOL) --tag=CC \
unittest_LINK = $(LIBTOOL) --tag=D \
$(unittest_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(unittest_LDFLAGS) \
$(LDFLAGS) -o $@


# Also override library link commands: This is not strictly
# required, but we want to record additional dependencies such
# as pthread in the library
libgdruntime_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgdruntime_la_LDFLAGS) $(LDFLAGS) -o $@

libgdruntime_t_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgdruntime_t_la_LDFLAGS) $(LDFLAGS) -o $@

libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@

libgphobos_t_la_LINK = $(LIBTOOL) --tag=D \
$(libgphobos_t_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(libgphobos_t_la_LDFLAGS) \
$(LDFLAGS) -o $@


# Include D build rules

# Make sure GDC can find libdruntime include files
Expand Down Expand Up @@ -519,22 +533,22 @@ DRUNTIME_TEST_LOBJECTS = $(filter-out rt/util/typeinfo.t.lo \
@ENABLE_SHARED_TRUE@check_LTLIBRARIES = libgdruntime_t.la
toolexeclib_LTLIBRARIES = libgdruntime.la
libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
libgdruntime_la_LIBTOOLFLAGS = --tag=D
libgdruntime_la_LIBTOOLFLAGS =
libgdruntime_la_LDFLAGS = -Xcompiler -nophoboslib $(DRUNTIME_VER_FLAG)
libgdruntime_la_LIBADD = $(BACKTRACE_LIB) $(LIBADD_DLOPEN)

# For static unittest, link objects directly
unittest_static_SOURCES = test_runner.d $(DRUNTIME_CSOURCES) \
$(DRUNTIME_SSOURCES)

unittest_static_LIBTOOLFLAGS = --tag=D
unittest_static_LIBTOOLFLAGS =
unittest_static_LDFLAGS = -Xcompiler -nophoboslib
unittest_static_LDADD = $(DRUNTIME_TEST_OBJECTS) $(BACKTRACE_LIB)
EXTRA_unittest_static_DEPENDENCIES = $(DRUNTIME_TEST_OBJECTS)

# For unittest with dynamic library
libgdruntime_t_la_SOURCES = $(DRUNTIME_CSOURCES) $(DRUNTIME_SSOURCES)
libgdruntime_t_la_LIBTOOLFLAGS = --tag=D
libgdruntime_t_la_LIBTOOLFLAGS =
# Automake by default does not generate shared libs for non-installed
# libraries. Use -rpath to force shared lib generation.
libgdruntime_t_la_LDFLAGS = -Xcompiler -nophoboslib -rpath /foo -shared
Expand All @@ -545,7 +559,7 @@ EXTRA_libgdruntime_t_la_DEPENDENCIES = $(DRUNTIME_TEST_LOBJECTS)

# For unittest
unittest_SOURCES = test_runner.d
unittest_LIBTOOLFLAGS = --tag=D
unittest_LIBTOOLFLAGS =
unittest_LDFLAGS = -Xcompiler -nophoboslib
unittest_LDADD = libgdruntime_t.la
DRUNTIME_DSOURCES_GENERATED = gcc/config.d gcc/libbacktrace.d
Expand Down
8 changes: 4 additions & 4 deletions libphobos/src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -75,29 +75,29 @@ endif

toolexeclib_LTLIBRARIES = libgphobos.la
libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES) $(ZLIB_SRC)
libgphobos_la_LIBTOOLFLAGS = --tag=D
libgphobos_la_LIBTOOLFLAGS =
libgphobos_la_LDFLAGS = -Xcompiler -nophoboslib $(PHOBOS_VER_FLAG)
libgphobos_la_LIBADD = ../libdruntime/libgdruntime.la $(ZLIB_LIB)

# For static unittest, link objects directly
unittest_static_SOURCES = ../libdruntime/test_runner.d $(ZLIB_SRC)
unittest_static_LIBTOOLFLAGS = --tag=D
unittest_static_LIBTOOLFLAGS =
unittest_static_LDFLAGS = -Xcompiler -nophoboslib -static-libtool-libs
unittest_static_LDADD = $(PHOBOS_TEST_OBJECTS) $(ZLIB_LIB) \
../libdruntime/libgdruntime.la
EXTRA_unittest_static_DEPENDENCIES = $(PHOBOS_TEST_OBJECTS)

# For unittest with dynamic library
libgphobos_t_la_SOURCES = $(ZLIB_SRC)
libgphobos_t_la_LIBTOOLFLAGS = --tag=D
libgphobos_t_la_LIBTOOLFLAGS =
libgphobos_t_la_LDFLAGS = -Xcompiler -nophoboslib -rpath /foo -shared
libgphobos_t_la_LIBADD = $(PHOBOS_TEST_LOBJECTS) $(ZLIB_LIB) \
../libdruntime/libgdruntime.la
EXTRA_libgphobos_t_la_DEPENDENCIES = $(PHOBOS_TEST_LOBJECTS)

# For unittest
unittest_SOURCES = ../libdruntime/test_runner.d
unittest_LIBTOOLFLAGS = --tag=D
unittest_LIBTOOLFLAGS =
unittest_LDFLAGS = -Xcompiler -nophoboslib -shared
unittest_LDADD = libgphobos_t.la ../libdruntime/libgdruntime.la

Expand Down
41 changes: 28 additions & 13 deletions libphobos/src/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,6 @@ am__objects_13 = libgphobos_la-adler32.lo libgphobos_la-compress.lo \
@DRUNTIME_ZLIB_SYSTEM_FALSE@am__objects_14 = $(am__objects_13)
am_libgphobos_la_OBJECTS = $(am__objects_12) $(am__objects_14)
libgphobos_la_OBJECTS = $(am_libgphobos_la_OBJECTS)
libgphobos_la_LINK = $(LIBTOOL) --tag=CC $(libgphobos_la_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@
libgphobos_t_la_DEPENDENCIES = $(PHOBOS_TEST_LOBJECTS) \
$(am__DEPENDENCIES_1) ../libdruntime/libgdruntime.la
am__objects_15 = libgphobos_t_la-adler32.lo \
Expand All @@ -228,10 +225,6 @@ am__objects_15 = libgphobos_t_la-adler32.lo \
@DRUNTIME_ZLIB_SYSTEM_FALSE@am__objects_16 = $(am__objects_15)
am_libgphobos_t_la_OBJECTS = $(am__objects_16)
libgphobos_t_la_OBJECTS = $(am_libgphobos_t_la_OBJECTS)
libgphobos_t_la_LINK = $(LIBTOOL) --tag=CC \
$(libgphobos_t_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(CCLD) $(AM_CFLAGS) $(CFLAGS) $(libgphobos_t_la_LDFLAGS) \
$(LDFLAGS) -o $@
@ENABLE_SHARED_TRUE@am_libgphobos_t_la_rpath =
@ENABLE_SHARED_TRUE@am__EXEEXT_1 = unittest$(EXEEXT)
@ENABLE_STATIC_TRUE@am__EXEEXT_2 = unittest_static$(EXEEXT)
Expand Down Expand Up @@ -417,17 +410,39 @@ LTDCOMPILE = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \


# Override executable linking commands: We have to use GDC for linking
unittest_static_LINK = $(LIBTOOL) --tag=CC \
# to make sure we link pthreads and other dependencies
unittest_static_LINK = $(LIBTOOL) --tag=D \
$(unittest_static_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(unittest_static_LDFLAGS) \
$(LDFLAGS) -o $@

unittest_LINK = $(LIBTOOL) --tag=CC \
unittest_LINK = $(LIBTOOL) --tag=D \
$(unittest_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(unittest_LDFLAGS) \
$(LDFLAGS) -o $@


# Also override library link commands: This is not strictly
# required, but we want to record additional dependencies such
# as pthread in the library
libgdruntime_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgdruntime_la_LDFLAGS) $(LDFLAGS) -o $@

libgdruntime_t_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgdruntime_t_la_LDFLAGS) $(LDFLAGS) -o $@

libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@

libgphobos_t_la_LINK = $(LIBTOOL) --tag=D \
$(libgphobos_t_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(GDC) $(AM_CFLAGS) $(CFLAGS) $(libgphobos_t_la_LDFLAGS) \
$(LDFLAGS) -o $@


# Include D build rules

# Make sure GDC can find libdruntime and libphobos include files
Expand Down Expand Up @@ -467,13 +482,13 @@ PHOBOS_TEST_LOBJECTS = $(filter-out std/net/curl.t.lo std/base64.t.lo, \
@ENABLE_SHARED_TRUE@check_LTLIBRARIES = libgphobos_t.la
toolexeclib_LTLIBRARIES = libgphobos.la
libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES) $(ZLIB_SRC)
libgphobos_la_LIBTOOLFLAGS = --tag=D
libgphobos_la_LIBTOOLFLAGS =
libgphobos_la_LDFLAGS = -Xcompiler -nophoboslib $(PHOBOS_VER_FLAG)
libgphobos_la_LIBADD = ../libdruntime/libgdruntime.la $(ZLIB_LIB)

# For static unittest, link objects directly
unittest_static_SOURCES = ../libdruntime/test_runner.d $(ZLIB_SRC)
unittest_static_LIBTOOLFLAGS = --tag=D
unittest_static_LIBTOOLFLAGS =
unittest_static_LDFLAGS = -Xcompiler -nophoboslib -static-libtool-libs
unittest_static_LDADD = $(PHOBOS_TEST_OBJECTS) $(ZLIB_LIB) \
../libdruntime/libgdruntime.la
Expand All @@ -482,7 +497,7 @@ EXTRA_unittest_static_DEPENDENCIES = $(PHOBOS_TEST_OBJECTS)

# For unittest with dynamic library
libgphobos_t_la_SOURCES = $(ZLIB_SRC)
libgphobos_t_la_LIBTOOLFLAGS = --tag=D
libgphobos_t_la_LIBTOOLFLAGS =
libgphobos_t_la_LDFLAGS = -Xcompiler -nophoboslib -rpath /foo -shared
libgphobos_t_la_LIBADD = $(PHOBOS_TEST_LOBJECTS) $(ZLIB_LIB) \
../libdruntime/libgdruntime.la
Expand All @@ -491,7 +506,7 @@ EXTRA_libgphobos_t_la_DEPENDENCIES = $(PHOBOS_TEST_LOBJECTS)

# For unittest
unittest_SOURCES = ../libdruntime/test_runner.d
unittest_LIBTOOLFLAGS = --tag=D
unittest_LIBTOOLFLAGS =
unittest_LDFLAGS = -Xcompiler -nophoboslib -shared
unittest_LDADD = libgphobos_t.la ../libdruntime/libgdruntime.la

Expand Down

0 comments on commit 796f6a8

Please sign in to comment.