@@ -29,14 +29,25 @@ while [[ $# -gt 0 ]]; do
2929 fi
3030 shift
3131 ;;
32+ -system-libs)
33+ # Use system-installed libraries via pkg-config instead of bundled ones
34+ # This is required for Homebrew formula compatibility
35+ USE_SYSTEM_LIBS=true
36+ shift
37+ ;;
3238 -* )
3339 echo " Unknown option $1 "
3440 exit 1
3541 ;;
3642 esac
3743done
3844
39- BLD_FLAGS=" -std=gnu99 -Wno-write-strings -Wno-pointer-sign -D_FILE_OFFSET_BITS=64 -DVERSION_FILE_PRESENT -Dfopen64=fopen -Dopen64=open -Dlseek64=lseek -DFT2_BUILD_LIBRARY -DGPAC_DISABLE_VTT -DGPAC_DISABLE_OD_DUMP -DGPAC_DISABLE_REMOTERY -DNO_GZIP"
45+ BLD_FLAGS=" -std=gnu99 -Wno-write-strings -Wno-pointer-sign -D_FILE_OFFSET_BITS=64 -DVERSION_FILE_PRESENT -Dfopen64=fopen -Dopen64=open -Dlseek64=lseek"
46+
47+ # Add flags for bundled libraries (not needed when using system libs)
48+ if [[ " $USE_SYSTEM_LIBS " != " true" ]]; then
49+ BLD_FLAGS=" $BLD_FLAGS -DFT2_BUILD_LIBRARY -DGPAC_DISABLE_VTT -DGPAC_DISABLE_OD_DUMP -DGPAC_DISABLE_REMOTERY -DNO_GZIP"
50+ fi
4051
4152# Add debug flags if needed
4253if [[ " $DEBUG " == " true" ]]; then
@@ -53,7 +64,21 @@ if [[ "$HARDSUBX" == "true" ]]; then
5364 BLD_FLAGS=" $BLD_FLAGS -DENABLE_HARDSUBX"
5465fi
5566
56- BLD_INCLUDE=" -I../src/ -I../src/lib_ccx -I../src/lib_hash -I../src/thirdparty/libpng -I../src/thirdparty -I../src/thirdparty/zlib -I../src/thirdparty/freetype/include ` pkg-config --cflags --silence-errors gpac` "
67+ # Set up include paths based on whether we're using system libs or bundled
68+ if [[ " $USE_SYSTEM_LIBS " == " true" ]]; then
69+ # Use system libraries via pkg-config (for Homebrew compatibility)
70+ # Note: -I../src/thirdparty/lib_hash is needed so that "../lib_hash/sha2.h" resolves correctly
71+ # (the .. goes up from lib_hash to thirdparty, then lib_hash/sha2.h finds the file)
72+ BLD_INCLUDE=" -I../src/ -I../src/lib_ccx -I../src/thirdparty/lib_hash -I../src/thirdparty"
73+ BLD_INCLUDE=" $BLD_INCLUDE $( pkg-config --cflags --silence-errors freetype2) "
74+ BLD_INCLUDE=" $BLD_INCLUDE $( pkg-config --cflags --silence-errors gpac) "
75+ BLD_INCLUDE=" $BLD_INCLUDE $( pkg-config --cflags --silence-errors libpng) "
76+ BLD_INCLUDE=" $BLD_INCLUDE $( pkg-config --cflags --silence-errors libprotobuf-c) "
77+ BLD_INCLUDE=" $BLD_INCLUDE $( pkg-config --cflags --silence-errors libutf8proc) "
78+ else
79+ # Use bundled libraries (default for standalone builds)
80+ BLD_INCLUDE=" -I../src/ -I../src/lib_ccx -I../src/thirdparty/lib_hash -I../src/thirdparty/libpng -I../src/thirdparty -I../src/thirdparty/zlib -I../src/thirdparty/freetype/include $( pkg-config --cflags --silence-errors gpac) "
81+ fi
5782
5883# Add FFmpeg include path for Mac
5984if [[ -d " /opt/homebrew/Cellar/ffmpeg" ]]; then
108133
109134SRC_CCX=" $( find ../src/lib_ccx -name ' *.c' ) "
110135SRC_LIB_HASH=" $( find ../src/thirdparty/lib_hash -name ' *.c' ) "
111- SRC_LIBPNG=" $( find ../src/thirdparty/libpng -name ' *.c' ) "
112- SRC_UTF8=" ../src/thirdparty/utf8proc/utf8proc.c"
113- SRC_ZLIB=" $( find ../src/thirdparty/zlib -name ' *.c' ) "
114- SRC_FREETYPE=" ../src/thirdparty/freetype/autofit/autofit.c \
115- ../src/thirdparty/freetype/base/ftbase.c \
116- ../src/thirdparty/freetype/base/ftbbox.c \
117- ../src/thirdparty/freetype/base/ftbdf.c \
118- ../src/thirdparty/freetype/base/ftbitmap.c \
119- ../src/thirdparty/freetype/base/ftcid.c \
120- ../src/thirdparty/freetype/base/ftfntfmt.c \
121- ../src/thirdparty/freetype/base/ftfstype.c \
122- ../src/thirdparty/freetype/base/ftgasp.c \
123- ../src/thirdparty/freetype/base/ftglyph.c \
124- ../src/thirdparty/freetype/base/ftgxval.c \
125- ../src/thirdparty/freetype/base/ftinit.c \
126- ../src/thirdparty/freetype/base/ftlcdfil.c \
127- ../src/thirdparty/freetype/base/ftmm.c \
128- ../src/thirdparty/freetype/base/ftotval.c \
129- ../src/thirdparty/freetype/base/ftpatent.c \
130- ../src/thirdparty/freetype/base/ftpfr.c \
131- ../src/thirdparty/freetype/base/ftstroke.c \
132- ../src/thirdparty/freetype/base/ftsynth.c \
133- ../src/thirdparty/freetype/base/ftsystem.c \
134- ../src/thirdparty/freetype/base/fttype1.c \
135- ../src/thirdparty/freetype/base/ftwinfnt.c \
136- ../src/thirdparty/freetype/bdf/bdf.c \
137- ../src/thirdparty/freetype/bzip2/ftbzip2.c \
138- ../src/thirdparty/freetype/cache/ftcache.c \
139- ../src/thirdparty/freetype/cff/cff.c \
140- ../src/thirdparty/freetype/cid/type1cid.c \
141- ../src/thirdparty/freetype/gzip/ftgzip.c \
142- ../src/thirdparty/freetype/lzw/ftlzw.c \
143- ../src/thirdparty/freetype/pcf/pcf.c \
144- ../src/thirdparty/freetype/pfr/pfr.c \
145- ../src/thirdparty/freetype/psaux/psaux.c \
146- ../src/thirdparty/freetype/pshinter/pshinter.c \
147- ../src/thirdparty/freetype/psnames/psnames.c \
148- ../src/thirdparty/freetype/raster/raster.c \
149- ../src/thirdparty/freetype/sfnt/sfnt.c \
150- ../src/thirdparty/freetype/smooth/smooth.c \
151- ../src/thirdparty/freetype/truetype/truetype.c \
152- ../src/thirdparty/freetype/type1/type1.c \
153- ../src/thirdparty/freetype/type42/type42.c \
154- ../src/thirdparty/freetype/winfonts/winfnt.c"
155136
156- BLD_SOURCES=" ../src/ccextractor.c $SRC_CCX $SRC_LIB_HASH $SRC_LIBPNG $SRC_UTF8 $SRC_ZLIB $SRC_FREETYPE "
137+ # Set up sources and linker based on whether we're using system libs or bundled
138+ if [[ " $USE_SYSTEM_LIBS " == " true" ]]; then
139+ # Use system libraries - don't compile bundled sources
140+ BLD_SOURCES=" ../src/ccextractor.c $SRC_CCX $SRC_LIB_HASH "
141+
142+ BLD_LINKER=" -lm -liconv -lpthread -ldl"
143+ BLD_LINKER=" $BLD_LINKER $( pkg-config --libs --silence-errors freetype2) "
144+ BLD_LINKER=" $BLD_LINKER $( pkg-config --libs --silence-errors gpac) "
145+ BLD_LINKER=" $BLD_LINKER $( pkg-config --libs --silence-errors libpng) "
146+ BLD_LINKER=" $BLD_LINKER $( pkg-config --libs --silence-errors libprotobuf-c) "
147+ BLD_LINKER=" $BLD_LINKER $( pkg-config --libs --silence-errors libutf8proc) "
148+ BLD_LINKER=" $BLD_LINKER $( pkg-config --libs --silence-errors zlib) "
149+ else
150+ # Use bundled libraries (default)
151+ SRC_LIBPNG=" $( find ../src/thirdparty/libpng -name ' *.c' ) "
152+ SRC_UTF8=" ../src/thirdparty/utf8proc/utf8proc.c"
153+ SRC_ZLIB=" $( find ../src/thirdparty/zlib -name ' *.c' ) "
154+ SRC_FREETYPE=" ../src/thirdparty/freetype/autofit/autofit.c \
155+ ../src/thirdparty/freetype/base/ftbase.c \
156+ ../src/thirdparty/freetype/base/ftbbox.c \
157+ ../src/thirdparty/freetype/base/ftbdf.c \
158+ ../src/thirdparty/freetype/base/ftbitmap.c \
159+ ../src/thirdparty/freetype/base/ftcid.c \
160+ ../src/thirdparty/freetype/base/ftfntfmt.c \
161+ ../src/thirdparty/freetype/base/ftfstype.c \
162+ ../src/thirdparty/freetype/base/ftgasp.c \
163+ ../src/thirdparty/freetype/base/ftglyph.c \
164+ ../src/thirdparty/freetype/base/ftgxval.c \
165+ ../src/thirdparty/freetype/base/ftinit.c \
166+ ../src/thirdparty/freetype/base/ftlcdfil.c \
167+ ../src/thirdparty/freetype/base/ftmm.c \
168+ ../src/thirdparty/freetype/base/ftotval.c \
169+ ../src/thirdparty/freetype/base/ftpatent.c \
170+ ../src/thirdparty/freetype/base/ftpfr.c \
171+ ../src/thirdparty/freetype/base/ftstroke.c \
172+ ../src/thirdparty/freetype/base/ftsynth.c \
173+ ../src/thirdparty/freetype/base/ftsystem.c \
174+ ../src/thirdparty/freetype/base/fttype1.c \
175+ ../src/thirdparty/freetype/base/ftwinfnt.c \
176+ ../src/thirdparty/freetype/bdf/bdf.c \
177+ ../src/thirdparty/freetype/bzip2/ftbzip2.c \
178+ ../src/thirdparty/freetype/cache/ftcache.c \
179+ ../src/thirdparty/freetype/cff/cff.c \
180+ ../src/thirdparty/freetype/cid/type1cid.c \
181+ ../src/thirdparty/freetype/gzip/ftgzip.c \
182+ ../src/thirdparty/freetype/lzw/ftlzw.c \
183+ ../src/thirdparty/freetype/pcf/pcf.c \
184+ ../src/thirdparty/freetype/pfr/pfr.c \
185+ ../src/thirdparty/freetype/psaux/psaux.c \
186+ ../src/thirdparty/freetype/pshinter/pshinter.c \
187+ ../src/thirdparty/freetype/psnames/psnames.c \
188+ ../src/thirdparty/freetype/raster/raster.c \
189+ ../src/thirdparty/freetype/sfnt/sfnt.c \
190+ ../src/thirdparty/freetype/smooth/smooth.c \
191+ ../src/thirdparty/freetype/truetype/truetype.c \
192+ ../src/thirdparty/freetype/type1/type1.c \
193+ ../src/thirdparty/freetype/type42/type42.c \
194+ ../src/thirdparty/freetype/winfonts/winfnt.c"
157195
158- BLD_LINKER=" -lm -liconv -lpthread -ldl ` pkg-config --libs --silence-errors gpac` "
196+ BLD_SOURCES=" ../src/ccextractor.c $SRC_CCX $SRC_LIB_HASH $SRC_LIBPNG $SRC_UTF8 $SRC_ZLIB $SRC_FREETYPE "
197+ BLD_LINKER=" -lm -liconv -lpthread -ldl $( pkg-config --libs --silence-errors gpac) "
198+ fi
159199
160200if [[ " $ENABLE_OCR " == " true" ]]; then
161201 BLD_LINKER=" $BLD_LINKER ` pkg-config --libs --silence-errors tesseract` ` pkg-config --libs --silence-errors lept` "
0 commit comments