Skip to content

Commit a2477b9

Browse files
author
Michael Fiess
authored
gif support for mac and Spark 1.7.1.1 (#1881)
* GIF support for Mac, RPI (#1822) * version 1.7.1.1
1 parent 09eb4e6 commit a2477b9

File tree

13 files changed

+105
-32
lines changed

13 files changed

+105
-32
lines changed

ci/generate_cache_install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ if [ "$TRAVIS_OS_NAME" = "osx" ] ;
3232
then
3333
brew update;
3434
brew upgrade cmake;
35-
brew install quilt libuv;
35+
brew install quilt libuv xmlto;
3636
sudo /usr/sbin/DevToolsSecurity --enable
3737
fi
3838

examples/pxScene2d/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
> * From terminal install dependencies: cmake, pkg-config, quilt, java.
3838
3939
```bash
40-
brew install cmake pkg-config quilt caskroom/cask/java libuv
40+
brew install cmake pkg-config quilt caskroom/cask/java libuv xmlto
4141
```
4242
4343
## Windows Setup

examples/pxScene2d/external/build.sh

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -71,27 +71,47 @@ fi
7171

7272
#--------- GIF
7373

74-
#if [ ! -e ./gif/.libs/libgif.dylib ] &&
75-
#[ "$(uname)" != "Darwin" ]
76-
#then
77-
78-
#banner "GIF"
79-
#cd gif
80-
#sudo make install
81-
#[ -d .libs ] || mkdir -p .libs
82-
#if [ -e libgif.dylib ]
83-
#then
84-
#cp libgif.dylib .libs/libgif.dylib
85-
#cp libutil.dylib .libs/libgifutil.dylib
86-
87-
#elif [ -e libgif.so ]
88-
#then
89-
#cp libgif.so .libs/libgif.dylib
90-
#cp libutil.so .libs/libgifutil.dylib
91-
#fi
92-
93-
#cd ..
94-
#fi
74+
banner "GIF"
75+
76+
cd gif
77+
if [ "$(uname)" == "Darwin" ]; then
78+
79+
[ -d patches ] || mkdir -p patches
80+
[ -d patches/series ] || echo 'giflib-5.1.9.patch' >patches/series
81+
cp ../giflib-5.1.9.patch patches/
82+
83+
if [[ "$#" -eq "1" && "$1" == "--clean" ]]; then
84+
quilt pop -afq || test $? = 2
85+
rm -rf .libs/*
86+
elif [[ "$#" -eq "1" && "$1" == "--force-clean" ]]; then
87+
git clean -fdx .
88+
git checkout .
89+
rm -rf .libs/*
90+
else
91+
quilt push -aq || test $? = 2
92+
fi
93+
94+
fi
95+
96+
if [ ! -e ./.libs/libgif.7.dylib ] ||
97+
[ "$(uname)" != "Darwin" ]
98+
then
99+
make
100+
[ -d .libs ] || mkdir -p .libs
101+
if [ -e libgif.7.dylib ]
102+
then
103+
cp libgif.7.dylib .libs/libgif.7.dylib
104+
cp libutil.7.dylib .libs/libutil.7.dylib
105+
106+
107+
elif [ -e libgif.so ]
108+
then
109+
cp libgif.so .libs/libgif.so
110+
cp libutil.so .libs/libutil.so
111+
fi
112+
fi
113+
114+
cd ..
95115

96116
#--------- FT
97117

examples/pxScene2d/external/build_rpi.sh

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,24 @@ cd jpg
3434
make all -j3
3535
cd ..
3636

37-
#--------- ZLIB
37+
#--------- GIF
38+
cd gif
39+
make
40+
[ -d .libs ] || mkdir -p .libs
41+
if [ -e libgif.7.dylib ]
42+
then
43+
cp libgif.7.dylib .libs/libgif.7.dylib
44+
cp libutil.7.dylib .libs/libutil.7.dylib
45+
46+
elif [ -e libgif.so ]
47+
then
48+
cp libgif.so .libs/libgif.dylib
49+
cp libutil.so .libs/libutil.dylib
50+
fi
51+
52+
cd ..
53+
54+
#--------- ZLIB
3855
cd zlib
3956
./configure
4057
make all -j3
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Index: giflib-5.1.9/Makefile
2+
3+
index e4ded6949..de8005240 100644
4+
===================================================================
5+
--- giflib-5.1.9.orig/Makefile
6+
+++ giflib-5.1.9/Makefile
7+
@@ -68,13 +68,16 @@ all: libgif.so libgif.a libutil.so libutil.a $(UTILS)
8+
$(UTILS):: libgif.a libutil.a
9+
10+
libgif.so: $(OBJECTS) $(HEADERS)
11+
- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS)
12+
+ #$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS)
13+
14+
+ $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o libgif.$(LIBMAJOR).dylib
15+
libgif.a: $(OBJECTS) $(HEADERS)
16+
$(AR) rcs libgif.a $(OBJECTS)
17+
18+
libutil.so: $(UOBJECTS) $(UHEADERS)
19+
- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libutil.so.$(LIBMAJOR) -o libutil.so $(UOBJECTS)
20+
+ #$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libutil.so.$(LIBMAJOR) -o libutil.so $(UOBJECTS)
21+
+
22+
+ $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o libutil.$(LIBMAJOR).dylib
23+
24+
libutil.a: $(UOBJECTS) $(UHEADERS)
25+
$(AR) rcs libutil.a $(UOBJECTS)

examples/pxScene2d/pxScene2d_xcode/checkLocalLibs.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ otool -L ./lib/libpng16.16.dylib
1818
otool -L ./lib/libz.1.dylib
1919
otool -L ./lib/libz.1.2.11.dylib
2020

21+
otool -L ./lib/libgif.7.dylib
2122

2223

2324

examples/pxScene2d/pxScene2d_xcode/getLocalLibs.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ if [ ! -d ${xLIBS} ]; then
6363
#install_name_tool -id @executable_path/lib/libz.1.dylib ./lib/libz.1.dylib
6464
#install_name_tool -id @executable_path/lib/libz.1.2.8.dylib ./lib/libz.1.2.8.dylib
6565

66+
cp ${xEXT}/gif/.libs/libgif.7.dylib ${xLIBS}
6667
source makeLocalLibs.sh
6768

6869
fi

examples/pxScene2d/pxScene2d_xcode/makeLocalLibs.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@ install_name_tool -id @executable_path/lib/libnode.48.dylib ./lib/libnode.48.dyl
1414
install_name_tool -id @executable_path/lib/libpng16.16.dylib ./lib/libpng16.16.dylib
1515

1616
install_name_tool -id @executable_path/lib/libz.1.2.11.dylib ./lib/libz.1.2.11.dylib
17+
18+
install_name_tool -id @executable_path/lib/libgif.7.dylib ./lib/libgif.7.dylib

examples/pxScene2d/src/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ set(PXSCENE_INSTALLER 0)
8585

8686
if (BUILD_WITH_GIF)
8787
message("Building with GIF support")
88+
set(GIF ${EXTDIR}/gif/)
89+
set(PXSCENE_LINK_DIRECTORIES ${PXSCENE_LINK_DIRECTORIES} ${GIF})
8890
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} gif)
8991
add_definitions(-DSUPPORT_GIF)
9092
endif (BUILD_WITH_GIF)
@@ -101,7 +103,7 @@ if (APPLE)
101103
set(PXCORE_LIB_LOCATION ${PXCOREDIR}/build/mac)
102104
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -fpermissive -g -Wall -Wno-attributes -Wall -Wextra")
103105
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -fpermissive -g -Wall -Wno-attributes -Wall -Wextra")
104-
set(PXSCENE_LINK_DIRECTORIES ${PXCORE_LIB_LOCATION})
106+
set(PXSCENE_LINK_DIRECTORIES ${PXSCENE_LINK_DIRECTORIES} ${PXCORE_LIB_LOCATION})
105107
set(PXSCENE_DEFINITIONS ${PXSCENE_DEFINITIONS} -DENABLE_NODE_V_6_9 -D_DARWIN_USE_64_BIT_INODE=1 -DNODE_ARCH="x64" -DNODE_WANT_INTERNALS=1 -DV8_DEPRECATION_WARNINGS= -DNODE_SHARED_MODE -DNODE_USE_V8_PLATFORM=1 -DNODE_HAVE_I18N_SUPPORT=1 -DNODE_HAVE_SMALL_ICU=1 -DHAVE_OPENSSL=1 -DHAVE_DTRACE=1 -D__POSIX__ -DNODE_PLATFORM=darwin -DDUCONFIG_NO_TRANSLITERATION=1 -DUCONFIG_NO_SERVICE=1 -DUCONFIG_NO_REGULAR_EXPRESSIONS=1 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION=1 -DU_HAVE_STD_STRING=0 -DUCONFIG_NO_BREAK_ITERATION=0 -DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_CONVERSION=1 -DHTTP_PARSER_STRICT=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64)
106108
set(PLATFORM_SOURCES mac/pxContextUtils.mm)
107109
set(PXSCENE_LINKER_OPTIONS "-framework OpenGL -framework Cocoa -framework Foundation")
@@ -113,11 +115,12 @@ if (APPLE)
113115
endif (ENABLE_ADDRESS_SANITIZER)
114116
set(PXSCENE_LINK_LIBRARIES)
115117
set(PXSCENE_LINK_DIRECTORIES ${PXSCENE_LINK_DIRECTORIES} ${NODE_LIBRARY_DIRS} ${V8_LIBRARY_DIRS} ${DUKE_LIBRARY_DIRS} ${COMM_DEPS_LIBRARY_DIRS})
116-
set(PLATFORM_LIBRARIES pxCore rtCore_s pthread ${NODE_LIBRARIES} ${V8_LIBRARIES} ${DUKE_LIBRARIES} ${COMM_DEPS_LIBRARIES})
118+
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} pxCore rtCore_s pthread ${NODE_LIBRARIES} ${V8_LIBRARIES} ${DUKE_LIBRARIES} ${COMM_DEPS_LIBRARIES})
117119
if (SUPPORT_V8)
118120
set(PXSCENE_LINK_DIRECTORIES ${PXSCENE_LINK_DIRECTORIES} ${UWS})
119121
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} uWS)
120122
endif ()
123+
121124
include_directories(AFTER ${NODE_INCLUDE_DIRS} ${DUKE_INCLUDE_DIRS} ${COMM_DEPS_INCLUDE_DIRS})
122125
if (DEFINED ENV{CODE_COVERAGE})
123126
message("enabling code coverage support")
@@ -278,7 +281,7 @@ elseif (WIN32)
278281
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT ")
279282
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /EHs-c-")
280283
set(PXCORE_LIB_LOCATION ${PXCOREDIR}/build/win/Release)
281-
set(PXSCENE_LINK_DIRECTORIES ${PXCORE_LIB_LOCATION})
284+
set(PXSCENE_LINK_DIRECTORIES ${PXSCENE_LINK_DIRECTORIES} ${PXCORE_LIB_LOCATION})
282285
set(PLATFORM_SOURCES win/pxContextUtils.cpp)
283286
if (SUPPORT_NODE)
284287
set(PLATFORM_SOURCES ${PLATFORM_SOURCES}

examples/pxScene2d/src/macstuff/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<key>CFBundlePackageType</key>
2020
<string>APPL</string>
2121
<key>CFBundleShortVersionString</key>
22-
<string>1.7.0.1</string>
22+
<string>1.7.1.1</string>
2323
<key>CFBundleSignature</key>
2424
<string>????</string>
2525
<key>CFBundleVersion</key>

0 commit comments

Comments
 (0)