mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-09 07:18:04 +02:00
build: Split boilerplate lib generation into two so's
Same thing as what was previously done for libcairo.so: Build an intermediate lib for the (potential) C++ stuff.
This commit is contained in:
parent
d6362a0d76
commit
120b78ada7
2 changed files with 26 additions and 12 deletions
|
|
@ -14,7 +14,14 @@ AM_CPPFLAGS = \
|
|||
$(NULL)
|
||||
AM_LDFLAGS = $(CAIRO_LDFLAGS)
|
||||
|
||||
EXTRA_LTLIBRARIES += libcairoboilerplate.la
|
||||
if BUILD_CXX
|
||||
cxx_boilerplate_lib = libcairoboilerplate_cxx.la
|
||||
else
|
||||
cxx_boilerplate_lib =
|
||||
endif
|
||||
|
||||
EXTRA_LTLIBRARIES += libcairoboilerplate.la $(cxx_boilerplate_lib)
|
||||
|
||||
|
||||
libcairoboilerplate_la_SOURCES = \
|
||||
$(enabled_cairo_boilerplate_headers) \
|
||||
|
|
@ -22,24 +29,34 @@ libcairoboilerplate_la_SOURCES = \
|
|||
$(enabled_cairo_boilerplate_sources) \
|
||||
cairo-boilerplate-constructors.c \
|
||||
$(NULL)
|
||||
libcairoboilerplate_la_LIBADD = $(top_builddir)/src/libcairo.la
|
||||
libcairoboilerplate_cxx_la_SOURCES = \
|
||||
$(enabled_cairo_boilerplate_cxx_sources) \
|
||||
$(NULL)
|
||||
libcairoboilerplate_la_LIBADD = $(top_builddir)/src/libcairo.la \
|
||||
$(cxx_boilerplate_lib) \
|
||||
$(CAIRO_LIBS) \
|
||||
$(CAIROBOILERPLATE_LIBS) \
|
||||
$(NULL)
|
||||
libcairoboilerplate_cxx_la_LIBADD = $(top_builddir)/src/libcairo.la \
|
||||
$(CAIRO_LIBS) \
|
||||
$(CAIROBOILERPLATE_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
if CAIRO_HAS_DL
|
||||
libcairoboilerplate_la_LIBADD += -ldl
|
||||
endif
|
||||
|
||||
if CAIRO_HAS_BEOS_SURFACE
|
||||
# BeOS system headers trigger this warning
|
||||
AM_CPPFLAGS += -Wno-multichar
|
||||
libcairoboilerplate_cxx_la_CXXFLAGS = -Wno-multichar
|
||||
endif
|
||||
|
||||
if CAIRO_HAS_WIN32_SURFACE
|
||||
libcairoboilerplate_la_LIBADD += -lwinspool
|
||||
endif
|
||||
|
||||
libcairoboilerplate_la_LIBADD += $(CAIROBOILERPLATE_LIBS)
|
||||
|
||||
cairo-boilerplate-constructors.c: Makefile $(enabled_cairo_boilerplate_sources) make-cairo-boilerplate-constructors.sh
|
||||
(cd $(srcdir) && sh ./make-cairo-boilerplate-constructors.sh $(enabled_cairo_boilerplate_sources)) > $@
|
||||
cairo-boilerplate-constructors.c: Makefile $(enabled_cairo_boilerplate_sources) $(enabled_cairo_boilerplate_cxx_sources) make-cairo-boilerplate-constructors.sh
|
||||
(cd $(srcdir) && sh ./make-cairo-boilerplate-constructors.sh $(enabled_cairo_boilerplate_sources) $(enabled_cairo_boilerplate_cxx_sources)) > $@
|
||||
|
||||
BUILT_SOURCES += cairo-boilerplate-constructors.c
|
||||
EXTRA_DIST += $(BUILT_SOURCES) make-cairo-boilerplate-constructors.sh
|
||||
|
|
|
|||
|
|
@ -19,10 +19,7 @@ cairo_boilerplate_private = \
|
|||
cairo-boilerplate-private.h \
|
||||
$(NULL)
|
||||
|
||||
# automake is stupid enough to always use c++ linker if we enable the
|
||||
# following lines, even if beos surface is not enabled. Disable it for now.
|
||||
#libcairoboilerplate_la_SOURCES += cairo-boilerplate-beos.cpp
|
||||
|
||||
cairo_boilerplate_beos_cxx_sources = cairo-boilerplate-beos.cpp
|
||||
cairo_boilerplate_directfb_sources = cairo-boilerplate-directfb.c
|
||||
cairo_boilerplate_drm_sources = cairo-boilerplate-drm.c
|
||||
cairo_boilerplate_glx_sources = cairo-boilerplate-glx.c
|
||||
|
|
@ -30,7 +27,7 @@ cairo_boilerplate_wgl_sources = cairo-boilerplate-wgl.c
|
|||
cairo_boilerplate_egl_sources = cairo-boilerplate-egl.c
|
||||
cairo_boilerplate_pdf_sources = cairo-boilerplate-pdf.c
|
||||
cairo_boilerplate_ps_sources = cairo-boilerplate-ps.c
|
||||
cairo_boilerplate_qt_sources = cairo-boilerplate-qt.cpp
|
||||
cairo_boilerplate_qt_cxx_sources = cairo-boilerplate-qt.cpp
|
||||
cairo_boilerplate_quartz_sources = cairo-boilerplate-quartz.c
|
||||
cairo_boilerplate_script_sources = cairo-boilerplate-script.c
|
||||
cairo_boilerplate_skia_sources = cairo-boilerplate-skia.c
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue