@@ -85,8 +85,8 @@ RUN set -xe; \
85
85
WORKDIR ${ZLIB_BUILD_DIR}/
86
86
RUN set -xe; \
87
87
make distclean \
88
- && CFLAGS="" \
89
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
88
+ && CFLAGS="-Os " \
89
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
90
90
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
91
91
./configure \
92
92
--prefix=${INSTALL_DIR}
@@ -113,8 +113,8 @@ RUN set -xe; \
113
113
curl -Ls https://github.com/openssl/openssl/releases/download/openssl-${VERSION_OPENSSL}/openssl-${VERSION_OPENSSL}.tar.gz \
114
114
| tar xzC ${OPENSSL_BUILD_DIR} --strip-components=1
115
115
WORKDIR ${OPENSSL_BUILD_DIR}/
116
- RUN CFLAGS="" \
117
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
116
+ RUN CFLAGS="-Os " \
117
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
118
118
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
119
119
./config \
120
120
--prefix=${INSTALL_DIR} \
@@ -148,8 +148,8 @@ RUN set -xe; \
148
148
curl -Ls https://download.gnome.org/sources/libxml2/${VERSION_XML2%.*}/libxml2-${VERSION_XML2}.tar.xz \
149
149
| tar xJC ${XML2_BUILD_DIR} --strip-components=1
150
150
WORKDIR ${XML2_BUILD_DIR}/
151
- RUN CFLAGS="" \
152
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
151
+ RUN CFLAGS="-Os " \
152
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
153
153
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
154
154
./configure \
155
155
--prefix=${INSTALL_DIR} \
@@ -181,8 +181,8 @@ RUN set -xe; \
181
181
curl -Ls https://github.com/libssh2/libssh2/releases/download/libssh2-${VERSION_LIBSSH2}/libssh2-${VERSION_LIBSSH2}.tar.gz \
182
182
| tar xzC ${LIBSSH2_BUILD_DIR} --strip-components=1
183
183
WORKDIR ${LIBSSH2_BUILD_DIR}/bin/
184
- RUN CFLAGS="" \
185
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
184
+ RUN CFLAGS="-Os " \
185
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
186
186
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
187
187
cmake .. \
188
188
# Build as a shared library (.so) instead of a static one
@@ -214,8 +214,8 @@ RUN set -xe; \
214
214
curl -Ls https://github.com/nghttp2/nghttp2/releases/download/v${VERSION_NGHTTP2}/nghttp2-${VERSION_NGHTTP2}.tar.gz \
215
215
| tar xzC ${NGHTTP2_BUILD_DIR} --strip-components=1
216
216
WORKDIR ${NGHTTP2_BUILD_DIR}/
217
- RUN CFLAGS="" \
218
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
217
+ RUN CFLAGS="-Os " \
218
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
219
219
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
220
220
./configure \
221
221
--enable-lib-only \
@@ -236,8 +236,8 @@ RUN set -xe; \
236
236
curl -Ls https://github.com/rockdaboot/libpsl/releases/download/${VERSION_LIBPSL}/libpsl-${VERSION_LIBPSL}.tar.gz \
237
237
| tar xzC ${LIBPSL_BUILD_DIR} --strip-components=1
238
238
WORKDIR ${LIBPSL_BUILD_DIR}/
239
- RUN CFLAGS="" \
240
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
239
+ RUN CFLAGS="-Os " \
240
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
241
241
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
242
242
./configure \
243
243
--prefix=${INSTALL_DIR}
@@ -262,8 +262,8 @@ RUN set -xe; \
262
262
| tar xzC ${CURL_BUILD_DIR} --strip-components=1
263
263
WORKDIR ${CURL_BUILD_DIR}/
264
264
RUN ./buildconf \
265
- && CFLAGS="" \
266
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
265
+ && CFLAGS="-Os " \
266
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
267
267
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
268
268
./configure \
269
269
--prefix=${INSTALL_DIR} \
@@ -301,8 +301,8 @@ RUN set -xe; \
301
301
curl -Ls https://github.com/nih-at/libzip/releases/download/v${VERSION_ZIP}/libzip-${VERSION_ZIP}.tar.gz \
302
302
| tar xzC ${ZIP_BUILD_DIR} --strip-components=1
303
303
WORKDIR ${ZIP_BUILD_DIR}/bin/
304
- RUN CFLAGS="" \
305
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
304
+ RUN CFLAGS="-Os " \
305
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
306
306
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
307
307
cmake .. \
308
308
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
@@ -322,8 +322,8 @@ RUN set -xe; \
322
322
curl -Ls https://github.com/jedisct1/libsodium/archive/${VERSION_LIBSODIUM}-RELEASE.tar.gz \
323
323
| tar xzC ${LIBSODIUM_BUILD_DIR} --strip-components=1
324
324
WORKDIR ${LIBSODIUM_BUILD_DIR}/
325
- RUN CFLAGS="" \
326
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
325
+ RUN CFLAGS="-Os " \
326
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
327
327
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
328
328
./autogen.sh \
329
329
&& ./configure --prefix=${INSTALL_DIR}
@@ -344,8 +344,8 @@ RUN set -xe; \
344
344
curl -Ls https://github.com/postgres/postgres/archive/REL_${VERSION_POSTGRES//./_}.tar.gz \
345
345
| tar xzC ${POSTGRES_BUILD_DIR} --strip-components=1
346
346
WORKDIR ${POSTGRES_BUILD_DIR}/
347
- RUN CFLAGS="" \
348
- CPPFLAGS="-I${INSTALL_DIR}/include -I/usr/include" \
347
+ RUN CFLAGS="-Os " \
348
+ CPPFLAGS="-Os - I${INSTALL_DIR}/include -I/usr/include" \
349
349
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib" \
350
350
./configure --prefix=${INSTALL_DIR} --with-openssl --without-icu --without-readline
351
351
RUN cd ${POSTGRES_BUILD_DIR}/src/interfaces/libpq && make && make install
@@ -370,7 +370,7 @@ RUN set -xe; \
370
370
curl -Ls https://github.com/kkos/oniguruma/releases/download/v${VERSION_ONIG}/onig-${VERSION_ONIG}.tar.gz \
371
371
| tar xzC ${ONIG_BUILD_DIR} --strip-components=1
372
372
WORKDIR ${ONIG_BUILD_DIR}
373
- RUN ./configure --prefix=${INSTALL_DIR}
373
+ RUN CFLAGS= "-Os" CPPFLAGS= "-Os" ./configure --prefix=${INSTALL_DIR}
374
374
RUN make && make install
375
375
376
376
@@ -391,7 +391,7 @@ RUN set -xe; \
391
391
curl -Ls https://github.com/sqlite/sqlite/archive/refs/tags/version-${VERSION_SQLITE}.tar.gz \
392
392
| tar xzC ${SQLITE_BUILD_DIR} --strip-components=1
393
393
WORKDIR ${SQLITE_BUILD_DIR}
394
- RUN ./configure --prefix=${INSTALL_DIR}
394
+ RUN CFLAGS= "-Os" CPPFLAGS= "-Os" ./configure --prefix=${INSTALL_DIR}
395
395
RUN make && make install
396
396
397
397
@@ -439,8 +439,8 @@ RUN curl --location --silent --show-error --fail https://www.php.net/get/php-${V
439
439
# --with-zlib and --with-zlib-dir: See https://stackoverflow.com/a/42978649/245552
440
440
ARG PHP_COMPILATION_FLAGS
441
441
RUN ./buildconf --force
442
- RUN CFLAGS="-fstack-protector-strong -fpic -fpie -O3 -I${INSTALL_DIR}/include -I/usr/include -ffunction-sections -fdata-sections" \
443
- CPPFLAGS="-fstack-protector-strong -fpic -fpie -O3 -I${INSTALL_DIR}/include -I/usr/include -ffunction-sections -fdata-sections" \
442
+ RUN CFLAGS="-fstack-protector-strong -fpic -fpie -Os -I${INSTALL_DIR}/include -I/usr/include -ffunction-sections -fdata-sections" \
443
+ CPPFLAGS="-fstack-protector-strong -fpic -fpie -Os -I${INSTALL_DIR}/include -I/usr/include -ffunction-sections -fdata-sections" \
444
444
LDFLAGS="-L${INSTALL_DIR}/lib64 -L${INSTALL_DIR}/lib -Wl,-O1 -Wl,--strip-all -Wl,--hash-style=both -pie" \
445
445
./configure \
446
446
--prefix=${INSTALL_DIR} \
@@ -462,14 +462,17 @@ RUN CFLAGS="-fstack-protector-strong -fpic -fpie -O3 -I${INSTALL_DIR}/include -I
462
462
--enable-ftp \
463
463
--with-gettext \
464
464
--enable-mbstring \
465
- --with-pdo-mysql=shared, mysqlnd \
465
+ --with-pdo-mysql=mysqlnd \
466
466
--with-mysqli \
467
467
--enable-pcntl \
468
468
--with-zip \
469
469
--enable-bcmath \
470
470
--with-pdo-pgsql=shared,${INSTALL_DIR} \
471
+ # Separate .so extension so that it is not loaded by default
471
472
--enable-intl=shared \
472
- --enable-soap \
473
+ # Separate .so extension so that it is not loaded by default
474
+ --enable-soap=shared \
475
+ # Separate .so extension so that it is not loaded by default
473
476
--with-xsl=${INSTALL_DIR} \
474
477
--with-ffi \
475
478
# necessary for `pecl` to work (to install PHP extensions)
@@ -526,6 +529,10 @@ RUN cp ${CA_BUNDLE} /bref-layer/bref/ssl/cert.pem
526
529
# Copy the OpenSSL config
527
530
RUN cp ${INSTALL_DIR}/bref/ssl/openssl.cnf /bref-layer/bref/ssl/openssl.cnf
528
531
532
+ # Run `strip` over all libraries and extensions to reduce their size
533
+ RUN find /bref-layer/bref/extensions -type f -exec strip --strip-all {} +
534
+ RUN find /bref-layer/lib -type f -exec strip --strip-all {} +
535
+
529
536
530
537
# ----------------------------------------------------------------------------
531
538
# Start from a clean image to copy only the files we need for the Lambda layer
0 commit comments