Skip to content

Commit 9b1a6a6

Browse files
authored
Apothecary - Updates pkgconfig, SIMD arm64ec fixes (libpng, freetype) (#398)
* downloader [3.2.3->3.3.0] * Apothecary fixes. - cURL update and use pkgconfig, fixed clean function, updated copy, clean files in build dir fix cache - openSSL - update and use pkgconfig * zlib fix vs * fix vs arch openssl path * fix pkgconfig * opencv fix quotes * vs arch * vs exr off
1 parent 5b1e708 commit 9b1a6a6

File tree

8 files changed

+192
-68
lines changed

8 files changed

+192
-68
lines changed

apothecary/apothecary

+1-1
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,7 @@ if [ "$TYPE" = "emscripten" ]; then
790790
else
791791
PTHREADS_FLAG=""
792792
fi
793-
export FLAG_RELEASE="-DNDEBUG -O3 ${PTHREADS_FLAG} -fPIC ${PLATFORM_FLAG} -fvisibility=hidden -Wno-implicit-function-declaration -frtti"
793+
export FLAG_RELEASE="-DWASM=ON -DNDEBUG -O3 ${PTHREADS_FLAG} -fPIC ${PLATFORM_FLAG} -fvisibility=hidden -Wno-implicit-function-declaration -frtti"
794794
EMSCRIPTEN_SCRIPT="$(realpath "$APOTHECARY_DIR/../scripts/emscripten/setup.sh")"
795795
. "$EMSCRIPTEN_SCRIPT"
796796
fi

apothecary/formulas/curl/curl.sh

+15-21
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,14 @@ function build() {
8585
GENERATOR_NAME="Visual Studio ${VS_VER_GEN}"
8686
mkdir -p "build_${TYPE}_${ARCH}"
8787
cd "build_${TYPE}_${ARCH}"
88-
88+
rm -f CMakeCache.txt *.a *.o *.lib
8989

9090
ZLIB_ROOT="$LIBS_ROOT/zlib/"
9191
ZLIB_INCLUDE_DIR="$LIBS_ROOT/zlib/include"
9292
ZLIB_LIBRARY="$LIBS_ROOT/zlib/lib/$TYPE/$PLATFORM/zlib.lib"
9393

94+
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}:${OF_LIBS_OPENSSL}/lib/$TYPE/$PLATFORM:${ZLIB_ROOT}/lib/$TYPE/$PLATFORM"
95+
9496
DEFS="-DLIBRARY_SUFFIX=${ARCH} \
9597
-DCMAKE_BUILD_TYPE=Release \
9698
-DCMAKE_C_STANDARD=${C_STANDARD} \
@@ -225,6 +227,8 @@ function build() {
225227
ZLIB_INCLUDE_DIR="$LIBS_ROOT/zlib/include"
226228
ZLIB_LIBRARY="$LIBS_ROOT/zlib/lib/$TYPE/$PLATFORM/zlib.a"
227229

230+
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}:${OPENSSL_ROOT}/lib/$TYPE/$PLATFORM:${ZLIB_ROOT}/lib/$TYPE/$PLATFORM"
231+
228232
PATH="${PATH};${OPENSSL_PATH}/lib/${TYPE}/${PLATFORM};${ZLIB_LIBRARY}/lib/${TYPE}/${PLATFORM}"
229233

230234
rm -f ${OPENSSL_PATH}/lib/libssl.a || true
@@ -240,6 +244,7 @@ function build() {
240244
echo "--------------------"
241245
mkdir -p "build_${TYPE}_${PLATFORM}"
242246
cd "build_${TYPE}_${PLATFORM}"
247+
rm -f CMakeCache.txt *.a *.o *.lib
243248
cmake .. \
244249
-DCMAKE_C_STANDARD=${C_STANDARD} \
245250
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
@@ -318,38 +323,27 @@ function build() {
318323
function copy() {
319324
# prepare headers directory if needed
320325
mkdir -p $1/include/curl
321-
322326
# prepare libs directory if needed
323327
mkdir -p $1/lib/$TYPE
324-
325-
# Standard *nix style copy.
326-
# copy headers
327-
328-
mkdir -p $1/include
329-
mkdir -p $1/lib/$TYPE
328+
mkdir -p $1/include
329+
. "$SECURE_SCRIPT"
330330

331331
if [ "$TYPE" == "vs" ] ; then
332332
mkdir -p $1/lib/$TYPE/$PLATFORM/
333333
cp -Rv "build_${TYPE}_${ARCH}/Release/include/"* $1/include
334-
cp -v "build_${TYPE}_${ARCH}/Release/lib/libcurl.lib" $1/lib/$TYPE/$PLATFORM/libcurl.lib
335-
. "$SECURE_SCRIPT"
334+
cp -v "build_${TYPE}_${ARCH}/Release/lib/libcurl.lib" $1/lib/$TYPE/$PLATFORM/libcurl.lib
336335
secure $1/lib/$TYPE/$PLATFORM/libcurl.lib curl.pkl
337336
elif [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos)$ ]]; then
338337
mkdir -p $1/lib/$TYPE/$PLATFORM/
339338
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/"* $1/include
340339
cp -v "build_${TYPE}_${PLATFORM}/Release/lib/libcurl.a" $1/lib/$TYPE/$PLATFORM/curl.a
341-
. "$SECURE_SCRIPT"
342340
secure $1/lib/$TYPE/$PLATFORM/curl.a curl.pkl
343341
elif [ "$TYPE" == "android" ] ; then
344-
#mkdir -p $1/lib/$TYPE/$ABI
345342
mkdir -p $1/lib/$TYPE/$ABI
346343
cp -Rv build/$TYPE/$ABI/include/* $1/include/curl/
347-
# copy lib
348344
cp -Rv build/$TYPE/$ABI/lib/libcurl.a $1/lib/$TYPE/$ABI/libcurl.a
349-
. "$SECURE_SCRIPT"
350345
secure $1/lib/$TYPE/$ABI/libcurl.a curl.pkl
351346
fi
352-
353347
# copy license file
354348
if [ -d "$1/license" ]; then
355349
rm -rf $1/license
@@ -360,13 +354,13 @@ function copy() {
360354

361355
# executed inside the lib src dir
362356
function clean() {
363-
if [ "$TYPE" == "vs" ] ; then
364-
rm -f *.lib
357+
if [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos|emscripten)$ ]]; then
358+
if [ -d "build_${TYPE}_${PLATFORM}" ]; then
359+
rm -r build_${TYPE}_${PLATFORM}
360+
fi
361+
elif [ "$TYPE" == "vs" ] ; then
365362
if [ -d "build_${TYPE}_${ARCH}" ]; then
366-
# Delete the folder and its contents
367-
rm -r build_${TYPE}_${ARCH}
368-
else
369-
echo "Folder does not exist."
363+
rm -r build_${TYPE}_${ARCH}
370364
fi
371365
else
372366
make clean

apothecary/formulas/freetype/freetype.sh

+8-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,13 @@ function build() {
158158
if [ "$PLATFORM" == "ARM64EC" ] ; then
159159
BROTLI="
160160
-DFT_REQUIRE_BROTLI=FALSE \
161-
-DFT_DISABLE_BROTLI=TRUE"
161+
-DFT_DISABLE_BROTLI=TRUE \
162+
-DENABLE_SSE=OFF \
163+
-DENABLE_SSE2=OFF \
164+
-DENABLE_SSE3=OFF \
165+
-DENABLE_SSE41=OFF \
166+
-DENABLE_SSE42=OFF \
167+
-DENABLE_SSSE3=OFF"
162168
fi
163169
EXTRA_DEFS="
164170
${BROTLI} \
@@ -368,6 +374,7 @@ function build() {
368374
LIBPNG_ROOT="${LIBS_ROOT}/libpng/"
369375
LIBPNG_INCLUDE_DIR="${LIBS_ROOT}/libpng/include"
370376
LIBPNG_LIBRARY="$LIBS_ROOT/libpng/lib/${TYPE}/${PLATFORM}/libpng16.a"
377+
371378
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}:${LIBPNG_ROOT}/lib/$TYPE/$PLATFORM:${ZLIB_ROOT}/lib/$TYPE/$PLATFORM"
372379

373380
pkg-config --modversion libpng

apothecary/formulas/libpng/libpng.sh

+15-5
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ function build() {
7474
-DPNG_SHARED=OFF \
7575
-DPNG_STATIC=ON \
7676
-DBUILD_SHARED_LIBS=OFF \
77-
-DPNG_HARDWARE_OPTIMIZATIONS=ON \
7877
-DCMAKE_INCLUDE_OUTPUT_DIRECTORY=include"
7978

8079
if [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos)$ ]]; then
@@ -98,6 +97,7 @@ function build() {
9897
-DDEPLOYMENT_TARGET=${MIN_SDK_VER} \
9998
-DCMAKE_CXX_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE}" \
10099
-DCMAKE_C_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE}" \
100+
-DPNG_HARDWARE_OPTIMIZATIONS=ON \
101101
-DENABLE_BITCODE=OFF \
102102
-DENABLE_ARC=OFF \
103103
-DENABLE_VISIBILITY=OFF \
@@ -118,6 +118,12 @@ function build() {
118118
ZLIB_INCLUDE_DIR="$LIBS_ROOT/zlib/include"
119119
ZLIB_LIBRARY="$LIBS_ROOT/zlib/lib/$TYPE/$PLATFORM/zlib.lib"
120120

121+
if [ "$PLATFORM" == "ARM64EC" ] ; then
122+
HARDWARE_OPTIMIZATIONS="OFF"
123+
else
124+
HARDWARE_OPTIMIZATIONS="ON"
125+
fi
126+
121127
env CXXFLAGS="-DUSE_PTHREADS=1 ${VS_C_FLAGS} ${FLAGS_RELEASE} ${CALLING_CONVENTION}"
122128
env CFLAGS="-DUSE_PTHREADS=1 ${VS_C_FLAGS} ${FLAGS_RELEASE} ${CALLING_CONVENTION}"
123129
cmake .. ${DEFS} \
@@ -126,6 +132,7 @@ function build() {
126132
-DZLIB_LIBRARY=${ZLIB_LIBRARY} \
127133
-DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR} \
128134
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIR} \
135+
-DPNG_HARDWARE_OPTIMIZATIONS=${HARDWARE_OPTIMIZATIONS} \
129136
-DCMAKE_INSTALL_PREFIX=Release \
130137
-DCMAKE_BUILD_TYPE=Release \
131138
-A "${PLATFORM}" \
@@ -182,6 +189,7 @@ function build() {
182189
-D ANDROID_NATIVE_API_LEVEL=${ANDROID_API} \
183190
-D ANDROID_TOOLCHAIN=clang \
184191
-DZLIB_ROOT=${ZLIB_ROOT} \
192+
-DPNG_HARDWARE_OPTIMIZATIONS=OFF \
185193
-DZLIB_LIBRARY=${ZLIB_LIBRARY} \
186194
-DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR} \
187195
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIR} \
@@ -208,9 +216,10 @@ function build() {
208216
-DEMSCRIPTEN=ON \
209217
-DCMAKE_VERBOSE_MAKEFILE=ON \
210218
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
219+
-DPNG_HARDWARE_OPTIMIZATIONS=OFF \
211220
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
212-
-DCMAKE_CXX_FLAGS="-std=c++${CPP_STANDARD} ${FLAG_RELEASE} -s USE_ZLIB=1" \
213-
-DCMAKE_C_FLAGS="-std=c${C_STANDARD} ${FLAG_RELEASE} -s USE_ZLIB=1" \
221+
-DCMAKE_CXX_FLAGS="-std=c++${CPP_STANDARD} ${FLAG_RELEASE}" \
222+
-DCMAKE_C_FLAGS="-std=c${C_STANDARD} ${FLAG_RELEASE}" \
214223
-DCMAKE_CXX_EXTENSIONS=OFF \
215224
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
216225
-DZLIB_ROOT=${ZLIB_ROOT} \
@@ -232,9 +241,10 @@ function build() {
232241
-DEMSCRIPTEN=ON \
233242
-DCMAKE_VERBOSE_MAKEFILE=ON \
234243
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
244+
-DPNG_HARDWARE_OPTIMIZATIONS=OFF \
235245
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
236-
-DCMAKE_CXX_FLAGS="-std=c++${CPP_STANDARD} ${FLAG_RELEASE} -s USE_ZLIB=1" \
237-
-DCMAKE_C_FLAGS="-std=c${C_STANDARD} ${FLAG_RELEASE} -s USE_ZLIB=1" \
246+
-DCMAKE_CXX_FLAGS="-std=c++${CPP_STANDARD} ${FLAG_RELEASE}" \
247+
-DCMAKE_C_FLAGS="-std=c${C_STANDARD} ${FLAG_RELEASE}" \
238248
-DCMAKE_CXX_EXTENSIONS=OFF \
239249
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
240250
-DZLIB_ROOT=${ZLIB_ROOT} \

apothecary/formulas/opencv/opencv.sh

+16-8
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,10 @@ function build() {
8181
-DCMAKE_INSTALL_INCLUDEDIR=include \
8282
-DZLIB_ROOT=${ZLIB_ROOT} \
8383
-DZLIB_LIBRARY=${ZLIB_LIBRARY} \
84-
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIR} "
84+
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIR} \
85+
-DPNG_ROOT=${LIBPNG_ROOT} \
86+
-DPNG_PNG_INCLUDE_DIR=${LIBPNG_INCLUDE_DIR} \
87+
-DPNG_LIBRARY=${LIBPNG_LIBRARY} "
8588
if [[ "$ARCH" =~ ^(arm64|SIM_arm64|arm64_32)$ ]]; then
8689
EXTRA_DEFS="-DCV_ENABLE_INTRINSICS=OFF -DENABLE_SSE=OFF -DENABLE_SSE2=OFF -DENABLE_SSE3=OFF -DENABLE_SSE41=OFF -DENABLE_SSE42=OFF -DENABLE_SSSE3=OFF -DWITH_CAROTENE=OFF"
8790
else
@@ -93,10 +96,10 @@ function build() {
9396
-DCMAKE_TOOLCHAIN_FILE=$APOTHECARY_DIR/toolchains/ios.toolchain.cmake \
9497
-DPLATFORM=$PLATFORM \
9598
-DENABLE_BITCODE=OFF \
96-
-DENABLE_ARC=OFF \
99+
-DENABLE_ARC=ON \
97100
-DDEPLOYMENT_TARGET=${MIN_SDK_VER} \
98101
-DENABLE_VISIBILITY=OFF \
99-
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
102+
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
100103
-DENABLE_FAST_MATH=OFF \
101104
-DCMAKE_CXX_FLAGS="-fvisibility-inlines-hidden -stdlib=libc++ -fPIC -Wno-implicit-function-declaration " \
102105
-DCMAKE_C_FLAGS="-fvisibility-inlines-hidden -stdlib=libc++ -fPIC -Wno-implicit-function-declaration" \
@@ -163,7 +166,7 @@ function build() {
163166
-DWITH_ADE=OFF \
164167
-DWITH_TBB=OFF \
165168
-DWITH_TIFF=OFF \
166-
-DWITH_OPENEXR=OFF \
169+
-DWITH_OPENEXR=ON \
167170
-DWITH_OPENGL=OFF \
168171
-DWITH_OPENVX=OFF \
169172
-DWITH_1394=OFF \
@@ -213,7 +216,7 @@ function build() {
213216
cd ..
214217

215218
elif [ "$TYPE" == "vs" ] ; then
216-
echoInfo "building $TYPE | $ARCH | $VS_VER | vs: $VS_VER_GEN - "${PLATFORM}""
219+
echoInfo "building $TYPE | $ARCH | $VS_VER | vs: $VS_VER_GEN"
217220
echoInfo "--------------------"
218221
GENERATOR_NAME="Visual Studio ${VS_VER_GEN}"
219222
mkdir -p "build_${TYPE}_${PLATFORM}"
@@ -330,7 +333,7 @@ function build() {
330333
-DCV_DISABLE_OPTIMIZATION=OFF"
331334

332335
if [[ ${ARCH} == "arm64ec" || "${ARCH}" == "arm64" ]]; then
333-
EXTRA_DEFS="-DCV_ENABLE_INTRINSICS=OFF -DENABLE_SSE=OFF -DENABLE_SSE2=OFF -DENABLE_SSE3=OFF -DENABLE_SSE41=OFF -DENABLE_SSE42=OFF -DENABLE_SSSE3=OFF -DBUILD_opencv_rgbd=OFF "
336+
EXTRA_DEFS="-DCV_ENABLE_INTRINSICS=OFF -DENABLE_SSE=OFF -DENABLE_SSE2=OFF -DENABLE_SSE3=OFF -DENABLE_SSE41=OFF -DENABLE_SSE42=OFF -DENABLE_SSSE3=OFF -DBUILD_opencv_rgbd=OFF"
334337
else
335338
EXTRA_DEFS="-DCV_ENABLE_INTRINSICS=ON -DENABLE_SSE=ON -DENABLE_SSE2=ON -DENABLE_SSE3=ON -DENABLE_SSE41=ON -DENABLE_SSE42=ON -DENABLE_SSSE3=ON"
336339
fi
@@ -352,10 +355,12 @@ function build() {
352355
-DZLIB_ROOT=${ZLIB_ROOT} \
353356
-DZLIB_LIBRARY=${ZLIB_LIBRARY} \
354357
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIR} \
358+
-DBUILD_PNG=OFF \
355359
-DPNG_ROOT=${LIBPNG_ROOT} \
356360
-DPNG_PNG_INCLUDE_DIR=${LIBPNG_INCLUDE_DIR} \
357361
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
358-
-DBUILD_WITH_STATIC_CRT=OFF
362+
-DBUILD_WITH_STATIC_CRT=OFF
363+
359364
cmake --build . --target install --config Debug
360365
cmake .. ${DEFS} \
361366
-A "${PLATFORM}" \
@@ -373,6 +378,7 @@ function build() {
373378
-DZLIB_ROOT=${ZLIB_ROOT} \
374379
-DZLIB_LIBRARY=${ZLIB_LIBRARY} \
375380
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIR} \
381+
-DBUILD_PNG=OFF \
376382
-DPNG_ROOT=${LIBPNG_ROOT} \
377383
-DPNG_PNG_INCLUDE_DIR=${LIBPNG_INCLUDE_DIR} \
378384
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
@@ -640,6 +646,7 @@ function build() {
640646
-DWITH_LAPACK=OFF \
641647
-DWITH_ITT=OFF \
642648
-DBUILD_ZLIB=ON \
649+
-DBUILD_PNG=OFF \
643650
-DWITH_WEBP=OFF \
644651
-DWITH_VTK=OFF \
645652
-DWITH_PVAPI=OFF \
@@ -695,8 +702,9 @@ function copy() {
695702
mkdir -p $1/lib/$TYPE/$PLATFORM
696703
cp -v "build_${TYPE}_${PLATFORM}/Release/lib/opencv4/3rdparty/"*.a $1/lib/$TYPE/$PLATFORM/
697704
cp -v "build_${TYPE}_${PLATFORM}/Release/lib/"*.a $1/lib/$TYPE/$PLATFORM
705+
cp -v "build_${TYPE}_${PLATFORM}/Release/lib/"*.dylib $1/lib/$TYPE/$PLATFORM
698706

699-
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/opencv4" $1/include/
707+
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/opencv4/" $1/include/
700708

701709
cp -Rv "build_${TYPE}_${PLATFORM}/Release/share/opencv4/"* $1/etc
702710
cp -Rv "build_${TYPE}_${PLATFORM}/Release/share/licenses/"* $1/license

apothecary/formulas/openssl/openssl.sh

+49-1
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,30 @@ function copy() {
346346
secure $1/lib/$TYPE/$PLATFORM/libssl.a openssl.pkl
347347
secure $1/lib/$TYPE/$PLATFORM/libcrypto.a crypto.pkl
348348

349+
cp -vR "build_${TYPE}_${PLATFORM}/Release/lib/pkgconfig/openssl.pc" $1/lib/$TYPE/$PLATFORM/openssl.pc
350+
cp -vR "build_${TYPE}_${PLATFORM}/Release/lib/pkgconfig/libcrypto.pc" $1/lib/$TYPE/$PLATFORM/libcrypto.pc
351+
cp -vR "build_${TYPE}_${PLATFORM}/Release/lib/pkgconfig/libssl.pc" $1/lib/$TYPE/$PLATFORM/libssl.pc
352+
353+
PKG_FILE="$1/lib/$TYPE/$PLATFORM/openssl.pc"
354+
sed -i.bak "s|^prefix=.*|prefix=${1}|" "$PKG_FILE"
355+
sed -i.bak "s|^exec_prefix=.*|exec_prefix=${1}|" "$PKG_FILE"
356+
sed -i.bak "s|^libdir=.*|libdir=${1}/lib/${TYPE}/${PLATFORM}/|" "$PKG_FILE"
357+
sed -i.bak "s|^includedir=.*|includedir=${1}/include|" "$PKG_FILE"
358+
359+
PKG_FILE="$1/lib/$TYPE/$PLATFORM/libcrypto.pc"
360+
sed -i.bak "s|^prefix=.*|prefix=${1}|" "$PKG_FILE"
361+
sed -i.bak "s|^exec_prefix=.*|exec_prefix=${1}|" "$PKG_FILE"
362+
sed -i.bak "s|^libdir=.*|libdir=${1}/lib/${TYPE}/${PLATFORM}/|" "$PKG_FILE"
363+
sed -i.bak "s|^includedir=.*|includedir=${1}/include|" "$PKG_FILE"
364+
365+
PKG_FILE="$1/lib/$TYPE/$PLATFORM/libssl.pc"
366+
sed -i.bak "s|^prefix=.*|prefix=${1}|" "$PKG_FILE"
367+
sed -i.bak "s|^exec_prefix=.*|exec_prefix=${1}|" "$PKG_FILE"
368+
sed -i.bak "s|^libdir=.*|libdir=${1}/lib/${TYPE}/${PLATFORM}/|" "$PKG_FILE"
369+
sed -i.bak "s|^includedir=.*|includedir=${1}/include|" "$PKG_FILE"
370+
371+
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}:$1/lib/$TYPE/$PLATFORM"
372+
349373
elif [ "$TYPE" == "vs" ]; then
350374
mkdir -p $1/include
351375
mkdir -p $1/lib/$TYPE
@@ -361,6 +385,30 @@ function copy() {
361385
secure $1/lib/$TYPE/$PLATFORM/libssl.lib openssl.pkl
362386
secure $1/lib/$TYPE/$PLATFORM/libcrypto.a crypto.pkl
363387

388+
cp -vR "build_${TYPE}_${ARCH}/Release/lib/pkgconfig/openssl.pc" $1/lib/$TYPE/$PLATFORM/openssl.pc
389+
cp -vR "build_${TYPE}_${ARCH}/Release/lib/pkgconfig/libcrypto.pc" $1/lib/$TYPE/$PLATFORM/libcrypto.pc
390+
cp -vR "build_${TYPE}_${ARCH}/Release/lib/pkgconfig/libssl.pc" $1/lib/$TYPE/$PLATFORM/libssl.pc
391+
392+
PKG_FILE="$1/lib/$TYPE/$PLATFORM/openssl.pc"
393+
sed -i.bak "s|^prefix=.*|prefix=${1}|" "$PKG_FILE"
394+
sed -i.bak "s|^exec_prefix=.*|exec_prefix=${1}|" "$PKG_FILE"
395+
sed -i.bak "s|^libdir=.*|libdir=${1}/lib/${TYPE}/${PLATFORM}/|" "$PKG_FILE"
396+
sed -i.bak "s|^includedir=.*|includedir=${1}/include|" "$PKG_FILE"
397+
398+
PKG_FILE="$1/lib/$TYPE/$PLATFORM/libcrypto.pc"
399+
sed -i.bak "s|^prefix=.*|prefix=${1}|" "$PKG_FILE"
400+
sed -i.bak "s|^exec_prefix=.*|exec_prefix=${1}|" "$PKG_FILE"
401+
sed -i.bak "s|^libdir=.*|libdir=${1}/lib/${TYPE}/${PLATFORM}/|" "$PKG_FILE"
402+
sed -i.bak "s|^includedir=.*|includedir=${1}/include|" "$PKG_FILE"
403+
404+
PKG_FILE="$1/lib/$TYPE/$PLATFORM/libssl.pc"
405+
sed -i.bak "s|^prefix=.*|prefix=${1}|" "$PKG_FILE"
406+
sed -i.bak "s|^exec_prefix=.*|exec_prefix=${1}|" "$PKG_FILE"
407+
sed -i.bak "s|^libdir=.*|libdir=${1}/lib/${TYPE}/${PLATFORM}/|" "$PKG_FILE"
408+
sed -i.bak "s|^includedir=.*|includedir=${1}/include|" "$PKG_FILE"
409+
410+
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}:${1}/lib/$TYPE/$PLATFORM"
411+
364412
elif [ "$TYPE" == "android" ] ; then
365413
if [ -d $1/lib/$TYPE/$ABI ]; then
366414
rm -r $1/lib/$TYPE/$ABI
@@ -380,7 +428,7 @@ function copy() {
380428
# executed inside the lib src dir
381429
function clean() {
382430

383-
if [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos)$ ]]; then
431+
if [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos|emscripten)$ ]]; then
384432
if [ -d "build_${TYPE}_${PLATFORM}" ]; then
385433
rm -r build_${TYPE}_${PLATFORM}
386434
fi

0 commit comments

Comments
 (0)