summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Canciani <ranma42@gmail.com>2013-09-26 09:23:41 +0200
committerAndrea Canciani <ranma42@gmail.com>2013-10-09 14:23:12 +0200
commit0af2fcaebc4835ecf52d6002fcaacb09cbbcbaad (patch)
treeee5d999b90b5bf1815a3b576c220bd5b1e6c0efc
parente4d9c623d3baee50a5bfbc87cba81b0d2d87ee26 (diff)
Add support for SSSE3 to the MSVC build system
Handle SSSE3 just like MMX and SSE2.
-rw-r--r--pixman/Makefile.win3229
1 files changed, 27 insertions, 2 deletions
diff --git a/pixman/Makefile.win32 b/pixman/Makefile.win32
index 57ed7a5d..7b64033b 100644
--- a/pixman/Makefile.win32
+++ b/pixman/Makefile.win32
@@ -14,8 +14,14 @@ ifeq ($(SSE2_VAR),)
SSE2_VAR=on
endif
+SSSE3_VAR = $(SSSE3)
+ifeq ($(SSSE3_VAR),)
+SSSE3_VAR=on
+endif
+
MMX_CFLAGS = -DUSE_X86_MMX -w14710 -w14714
SSE2_CFLAGS = -DUSE_SSE2
+SSSE3_CFLAGS = -DUSE_SSSE3
# MMX compilation flags
ifeq ($(MMX_VAR),on)
@@ -29,10 +35,16 @@ PIXMAN_CFLAGS += $(SSE2_CFLAGS)
libpixman_sources += pixman-sse2.c
endif
+# SSSE3 compilation flags
+ifeq ($(SSSE3_VAR),on)
+PIXMAN_CFLAGS += $(SSSE3_CFLAGS)
+libpixman_sources += pixman-ssse3.c
+endif
+
OBJECTS = $(patsubst %.c, $(CFG_VAR)/%.obj, $(libpixman_sources))
# targets
-all: inform informMMX informSSE2 $(CFG_VAR)/$(LIBRARY).lib
+all: inform informMMX informSSE2 informSSSE3 $(CFG_VAR)/$(LIBRARY).lib
informMMX:
ifneq ($(MMX),off)
@@ -60,9 +72,22 @@ endif
endif
endif
+informSSSE3:
+ifneq ($(SSSE3),off)
+ifneq ($(SSSE3),on)
+ifneq ($(SSSE3),)
+ @echo "Invalid specified SSE option : "$(SSSE3)"."
+ @echo
+ @echo "Possible choices for SSSE3 are 'on' or 'off'"
+ @exit 1
+endif
+ @echo "Setting SSSE3 flag to default value 'on'... (use SSSE3=on or SSSE3=off)"
+endif
+endif
+
# pixman linking
$(CFG_VAR)/$(LIBRARY).lib: $(OBJECTS)
@$(AR) $(PIXMAN_ARFLAGS) -OUT:$@ $^
-.PHONY: all informMMX informSSE2
+.PHONY: all informMMX informSSE2 informSSSE3