diff options
author | Andrea Canciani <ranma42@gmail.com> | 2012-06-21 08:17:36 +0200 |
---|---|---|
committer | Andrea Canciani <ranma42@gmail.com> | 2012-07-31 16:06:33 +0200 |
commit | 42cc854bdafaa0683045c9b97722e4cb7240aa0a (patch) | |
tree | 49ccb22265a58e50b07b91084ce132a79c50a5bc | |
parent | 103d5bae827a0b7e53f8d423483eeadceb54aad5 (diff) |
build: Introduce simpleops dependency
The purpose of the simpleops library is to provide through a unified
interface basic functions and macros which are supported by most
compilers and runtimes, but with different names and syntax.
This should allow the removal of most platform-specific code. As added
benefit, simpleops should help in fixing the following bugs:
https://bugs.freedesktop.org/show_bug.cgi?id=31177
https://bugs.freedesktop.org/show_bug.cgi?id=34842
https://bugs.freedesktop.org/show_bug.cgi?id=37811
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | Makefile.win32.common | 12 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | demos/Makefile.am | 2 | ||||
-rw-r--r-- | pixman/Makefile.am | 35 | ||||
-rw-r--r-- | test/Makefile.am | 2 |
6 files changed, 34 insertions, 22 deletions
diff --git a/Makefile.am b/Makefile.am index 88ff897..b12c969 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,5 @@ +ACLOCAL_AMFLAGS = -I simpleops/m4 + SUBDIRS = pixman demos test pkgconfigdir=$(libdir)/pkgconfig diff --git a/Makefile.win32.common b/Makefile.win32.common index 777f94c..a93e3b9 100644 --- a/Makefile.win32.common +++ b/Makefile.win32.common @@ -1,3 +1,11 @@ +ifeq ($(top_builddir),) +top_builddir = $(top_srcdir) +endif + +include $(top_builddir)/simpleops/Makefile.win32 + +LIBS = $(SIMPLEOPS_LIBS) + LIBRARY = pixman-1 CC = cl @@ -5,10 +13,6 @@ LD = link AR = lib PERL = perl -ifeq ($(top_builddir),) -top_builddir = $(top_srcdir) -endif - CFG_VAR = $(CFG) ifeq ($(CFG_VAR),) CFG_VAR = release diff --git a/configure.ac b/configure.ac index 36f423e..bea674f 100644 --- a/configure.ac +++ b/configure.ac @@ -77,6 +77,9 @@ AC_CHECK_FUNCS([getisax]) AC_C_BIGENDIAN AC_C_INLINE +AC_CONFIG_SUBDIRS([simpleops]) +SIMPLEOPS_CONFIG + dnl PIXMAN_LINK_WITH_ENV(env-setup, program, true-action, false-action) dnl dnl Compiles and links the given program in the environment setup by env-setup diff --git a/demos/Makefile.am b/demos/Makefile.am index d8fb0da..d84d212 100644 --- a/demos/Makefile.am +++ b/demos/Makefile.am @@ -4,7 +4,7 @@ AM_CFLAGS = $(OPENMP_CFLAGS) AM_LDFLAGS = $(OPENMP_CFLAGS) LDADD = $(top_builddir)/pixman/libpixman-1.la -lm $(GTK_LIBS) $(PNG_LIBS) -INCLUDES = -I$(top_srcdir)/pixman -I$(top_builddir)/pixman $(GTK_CFLAGS) $(PNG_CFLAGS) +INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/pixman -I$(top_builddir)/pixman $(GTK_CFLAGS) $(PNG_CFLAGS) GTK_UTILS = gtk-utils.c gtk-utils.h ../test/utils.c ../test/utils.h diff --git a/pixman/Makefile.am b/pixman/Makefile.am index deacf87..5032027 100644 --- a/pixman/Makefile.am +++ b/pixman/Makefile.am @@ -1,9 +1,12 @@ include $(top_srcdir)/pixman/Makefile.sources +AM_CFLAGS = $(SIMPLEOPS_CFLAGS) -I$(top_srcdir) +AM_LDFLAGS = $(SIMPLEOPS_LIBS) + lib_LTLIBRARIES = libpixman-1.la libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -no-undefined @PTHREAD_LDFLAGS@ -libpixman_1_la_LIBADD = @PTHREAD_LIBS@ @DEP_LIBS@ -lm +libpixman_1_la_LIBADD = $(SIMPLEOPS_LIBS) @PTHREAD_LIBS@ @DEP_LIBS@ -lm libpixman_1_la_SOURCES = $(libpixman_sources) $(libpixman_headers) libpixmanincludedir = $(includedir)/pixman-1 @@ -26,8 +29,8 @@ if USE_X86_MMX noinst_LTLIBRARIES += libpixman-mmx.la libpixman_mmx_la_SOURCES = \ pixman-mmx.c -libpixman_mmx_la_CFLAGS = $(DEP_CFLAGS) $(MMX_CFLAGS) -libpixman_mmx_la_LIBADD = $(DEP_LIBS) +libpixman_mmx_la_CFLAGS = $(AM_CFLAGS) $(DEP_CFLAGS) $(MMX_CFLAGS) +libpixman_mmx_la_LIBADD = $(SIMPLEOPS_LIBS) $(DEP_LIBS) libpixman_1_la_LDFLAGS += $(MMX_LDFLAGS) libpixman_1_la_LIBADD += libpixman-mmx.la @@ -40,8 +43,8 @@ noinst_LTLIBRARIES += libpixman-vmx.la libpixman_vmx_la_SOURCES = \ pixman-vmx.c \ pixman-combine32.h -libpixman_vmx_la_CFLAGS = $(DEP_CFLAGS) $(VMX_CFLAGS) -libpixman_vmx_la_LIBADD = $(DEP_LIBS) +libpixman_vmx_la_CFLAGS = $(AM_CFLAGS) $(DEP_CFLAGS) $(VMX_CFLAGS) +libpixman_vmx_la_LIBADD = $(SIMPLEOPS_LIBS) $(DEP_LIBS) libpixman_1_la_LIBADD += libpixman-vmx.la ASM_CFLAGS_vmx=$(VMX_CFLAGS) @@ -52,8 +55,8 @@ if USE_SSE2 noinst_LTLIBRARIES += libpixman-sse2.la libpixman_sse2_la_SOURCES = \ pixman-sse2.c -libpixman_sse2_la_CFLAGS = $(DEP_CFLAGS) $(SSE2_CFLAGS) -libpixman_sse2_la_LIBADD = $(DEP_LIBS) +libpixman_sse2_la_CFLAGS = $(AM_CFLAGS) $(DEP_CFLAGS) $(SSE2_CFLAGS) +libpixman_sse2_la_LIBADD = $(SIMPLEOPS_LIBS) $(DEP_LIBS) libpixman_1_la_LDFLAGS += $(SSE2_LDFLAGS) libpixman_1_la_LIBADD += libpixman-sse2.la @@ -67,8 +70,8 @@ libpixman_arm_simd_la_SOURCES = \ pixman-arm-simd.c \ pixman-arm-common.h \ pixman-arm-simd-asm.S -libpixman_arm_simd_la_CFLAGS = $(DEP_CFLAGS) -libpixman_arm_simd_la_LIBADD = $(DEP_LIBS) +libpixman_arm_simd_la_CFLAGS = $(AM_CFLAGS) $(DEP_CFLAGS) +libpixman_arm_simd_la_LIBADD = $(SIMPLEOPS_LIBS) $(DEP_LIBS) libpixman_1_la_LIBADD += libpixman-arm-simd.la ASM_CFLAGS_arm_simd= @@ -83,8 +86,8 @@ libpixman_arm_neon_la_SOURCES = \ pixman-arm-neon-asm.S \ pixman-arm-neon-asm-bilinear.S \ pixman-arm-neon-asm.h -libpixman_arm_neon_la_CFLAGS = $(DEP_CFLAGS) -libpixman_arm_neon_la_LIBADD = $(DEP_LIBS) +libpixman_arm_neon_la_CFLAGS = $(AM_CFLAGS) $(DEP_CFLAGS) +libpixman_arm_neon_la_LIBADD = $(SIMPLEOPS_LIBS) $(DEP_LIBS) libpixman_1_la_LIBADD += libpixman-arm-neon.la ASM_CFLAGS_arm_neon= @@ -105,7 +108,7 @@ libpixman_iwmmxt_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(CFLAGS) $(IWMMXT_CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ -libpixman_iwmmxt_la_LIBADD = $(DEP_LIBS) +libpixman_iwmmxt_la_LIBADD = $(SIMPLEOPS_LIBS) $(DEP_LIBS) libpixman-iwmmxt.la: libpixman_iwmmxt_la-pixman-mmx.lo $(libpixman_iwmmxt_la_DEPENDENCIES) $(AM_V_CCLD)$(libpixman_iwmmxt_la_LINK) libpixman_iwmmxt_la-pixman-mmx.lo $(libpixman_iwmmxt_la_LIBADD) $(LIBS) @@ -120,8 +123,8 @@ libpixman_mips_dspr2_la_SOURCES = \ pixman-mips-dspr2-asm.S \ pixman-mips-dspr2-asm.h \ pixman-mips-memcpy-asm.S -libpixman_mips_dspr2_la_CFLAGS = $(DEP_CFLAGS) -libpixman_mips_dspr2_la_LIBADD = $(DEP_LIBS) +libpixman_mips_dspr2_la_CFLAGS = $(AM_CFLAGS) $(DEP_CFLAGS) +libpixman_mips_dspr2_la_LIBADD = $(SIMPLEOPS_LIBS) $(DEP_LIBS) libpixman_1_la_LIBADD += libpixman-mips-dspr2.la ASM_CFLAGS_mips_dspr2= @@ -131,8 +134,8 @@ endif if USE_LOONGSON_MMI noinst_LTLIBRARIES += libpixman-loongson-mmi.la libpixman_loongson_mmi_la_SOURCES = pixman-mmx.c loongson-mmintrin.h -libpixman_loongson_mmi_la_CFLAGS = $(DEP_CFLAGS) $(LS_CFLAGS) -libpixman_loongson_mmi_la_LIBADD = $(DEP_LIBS) +libpixman_loongson_mmi_la_CFLAGS = $(AM_CFLAGS) $(DEP_CFLAGS) $(LS_CFLAGS) +libpixman_loongson_mmi_la_LIBADD = $(SIMPLEOPS_LIBS) $(DEP_LIBS) libpixman_1_la_LDFLAGS += $(LS_LDFLAGS) libpixman_1_la_LIBADD += libpixman-loongson-mmi.la diff --git a/test/Makefile.am b/test/Makefile.am index eeb3679..aa3f400 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -3,7 +3,7 @@ include $(top_srcdir)/test/Makefile.sources AM_CFLAGS = $(OPENMP_CFLAGS) AM_LDFLAGS = $(OPENMP_CFLAGS) $(TESTPROGS_EXTRA_LDFLAGS) LDADD = libutils.la $(top_builddir)/pixman/libpixman-1.la -lm $(PNG_LIBS) -INCLUDES = -I$(top_srcdir)/pixman -I$(top_builddir)/pixman $(PNG_CFLAGS) +INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/pixman -I$(top_builddir)/pixman $(PNG_CFLAGS) libutils_la_SOURCES = $(libutils_sources) $(libutils_headers) |