diff options
author | 1Conan <7620342+1Conan@users.noreply.github.com> | 2022-01-18 23:12:59 -0500 |
---|---|---|
committer | Cameron Katri <me@cameronkatri.com> | 2022-01-18 23:14:23 -0500 |
commit | 73deb88ab0152cc45ee1cb101293d2e7065be747 (patch) | |
tree | a21576aa6bd6e8f61e9bb42dc28020cfdde671d2 | |
parent | 5e7c8eac8ffa05bce4f9bf8a25400ab5e9b11708 (diff) | |
download | ldid-73deb88ab0152cc45ee1cb101293d2e7065be747.tar.gz ldid-73deb88ab0152cc45ee1cb101293d2e7065be747.tar.zst ldid-73deb88ab0152cc45ee1cb101293d2e7065be747.zip |
ci: use lto and gc-sections
-rw-r--r-- | .github/workflows/build.yml | 18 | ||||
-rw-r--r-- | Makefile | 8 |
2 files changed, 19 insertions, 7 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 43c6e9a..fd82d07 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,14 @@ on: paths: - '*.c' - '*.cpp' + - '.github/workflows/*' + - 'Makefile' pull_request: + paths: + - '*.c' + - '*.cpp' + - '.github/workflows/*' + - 'Makefile' workflow_dispatch: release: types: @@ -69,7 +76,11 @@ jobs: echo "${HOME}/${TOOLCHAIN}/bin" >> $GITHUB_PATH echo "CC=sccache ${TRIPLE}-gcc" >> $GITHUB_ENV echo "CXX=sccache ${TRIPLE}-g++" >> $GITHUB_ENV - echo "CFLAGS=-Os -static" >> $GITHUB_ENV + echo "AR=${TRIPLE}-gcc-ar" >> $GITHUB_ENV + echo "NM=${TRIPLE}-gcc-nm" >> $GITHUB_ENV + echo "RANLIB=${TRIPLE}-gcc-ranlib" >> $GITHUB_ENV + echo "CFLAGS=-Os -fPIC -fno-pie -no-pie -static -flto -ffunction-sections -fdata-sections" >> $GITHUB_ENV + echo "LDFLAGS=-Wl,--gc-sections -Wl,-strip-all -flto" >> $GITHUB_ENV - name: build libplist run: | @@ -79,7 +90,7 @@ jobs: ./configure --host=${TRIPLE} --prefix=/usr --without-cython --enable-static --disable-shared make -j$(nproc) - echo "CFLAGS=${CFLAGS} -I${DEP_PATH}/libplist-${LIBPLIST_VERSION}/include" >> $GITHUB_ENV + echo "CPPFLAGS=${CPPFLAGS} -I${DEP_PATH}/libplist-${LIBPLIST_VERSION}/include" >> $GITHUB_ENV echo "LIBPLIST_LIB=${DEP_PATH}/libplist-${LIBPLIST_VERSION}/src/.libs/libplist-2.0.a" >> $GITHUB_ENV - name: build openssl @@ -103,7 +114,7 @@ jobs: ./config --prefix=/usr --static -static ${PLATFORM} make -j$(nproc) build_generated libcrypto.a - echo "CFLAGS=${CFLAGS} -I${DEP_PATH}/openssl-${OPENSSL_VERSION}/include" >> $GITHUB_ENV + echo "CPPFLAGS=${CPPFLAGS} -I${DEP_PATH}/openssl-${OPENSSL_VERSION}/include" >> $GITHUB_ENV echo "LIBCRYPTO_LIB=${DEP_PATH}/openssl-${OPENSSL_VERSION}/libcrypto.a" >> $GITHUB_ENV - name: build @@ -111,6 +122,7 @@ jobs: export LDID_VERSION=$(echo "$(git describe --tags --abbrev=0)") make -j$(nproc) \ VERSION="${LDID_VERSION}" \ + LDFLAGS="-static -static-libstdc++ ${LDFLAGS}" \ LIBS="${LIBPLIST_LIB} ${LIBCRYPTO_LIB}" ${TRIPLE}-strip ldid @@ -6,7 +6,7 @@ INSTALL ?= install LN ?= ln CFLAGS ?= -O2 -pipe -CXXFLAGS ?= $(CFLAGS) +CXXFLAGS ?= $(CFLAGS) -std=c++11 LDFLAGS ?= PREFIX ?= /usr/local @@ -20,13 +20,13 @@ LIBS ?= -lcrypto -lplist-2.0 all: ldid %.c.o: %.c - $(CC) -c $(CFLAGS) -I. $< -o $@ + $(CC) -c $(CFLAGS) $(CPPFLAGS) -I. $< -o $@ %.cpp.o: %.cpp - $(CXX) -c -std=c++11 $(CXXFLAGS) -I. -DLDID_VERSION=\"$(VERSION)\" $< -o $@ + $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -I. -DLDID_VERSION=\"$(VERSION)\" $< -o $@ ldid: $(SRC:%=%.o) - $(CXX) $^ $(LDFLAGS) $(LIBS) -o ldid + $(CXX) $(CXXFLAGS) -o ldid $^ $(LDFLAGS) $(LIBS) install: all $(INSTALL) -D -m755 ldid $(DESTDIR)$(BINDIR)/ldid |