build: replace gl_core_3_3.c with GLEW

This commit is contained in:
Marcin Kurczewski 2025-02-11 22:19:01 +01:00
parent 0e04acd901
commit a02eb0762a
26 changed files with 151 additions and 12129 deletions

View file

@ -9,7 +9,7 @@ from shared.files import find_versioned_files, is_binary_file
from shared.linting import LintContext, lint_repo, lint_bulk_files, lint_file
from shared.paths import REPO_DIR
IGNORED_PATTERNS = ["*.patch", "*.bin", "gl_core_3_3.h"]
IGNORED_PATTERNS = ["*.patch", "*.bin"]
def parse_args() -> argparse.Namespace:

View file

@ -99,6 +99,28 @@ RUN cd SDL \
# GLEW
FROM base AS glew
RUN git clone https://github.com/nigels-com/glew.git
RUN apt-get install -y \
build-essential \
libxmu-dev \
libxi-dev \
libgl-dev \
python3
RUN cd glew/auto \
&& PYTHON=python3 make
RUN mkdir -p /ext/lib \
&& export \
GLEW_NO_GLU=-DGLEW_NO_GLU \
GLEW_DEST=/ext \
&& cd glew \
&& make \
&& make install
RUN sed -i "s/Cflags: .*/\\0 -DGLEW_STATIC /" /ext/lib/pkgconfig/glew.pc
# TR1X
FROM base
@ -134,6 +156,7 @@ COPY --from=libav /ext/ /ext/
COPY --from=sdl /ext/ /ext/
COPY --from=backtrace /ext/ /ext/
COPY --from=pcre2 /ext/ /ext/
COPY --from=glew /ext/ /ext/
ENV PYTHONPATH=/app/tools/
ENTRYPOINT ["/app/tools/tr1/docker/game-linux/entrypoint.sh"]

View file

@ -35,6 +35,7 @@ RUN cd pcre2 \
&& make install
# zlib
FROM mingw AS zlib
RUN git clone https://github.com/madler/zlib --branch=v1.3.1
@ -48,6 +49,7 @@ RUN cd zlib \
-j 4 install
# libav
FROM mingw AS libav
RUN apt-get install -y \
@ -127,6 +129,29 @@ RUN cp -rL uthash-2.3.0/* /ext/
# GLEW
FROM mingw as glew
RUN git clone https://github.com/nigels-com/glew.git
RUN apt-get install -y \
build-essential \
libxmu-dev \
libxi-dev \
libgl-dev \
python3
RUN cd glew/auto \
&& PYTHON=python3 make
RUN mkdir -p /ext/lib \
&& export \
SYSTEM=linux-mingw32 \
GLEW_NO_GLU=-DGLEW_NO_GLU \
GLEW_DEST=/ext \
&& cd glew \
&& make \
&& make install
RUN sed -i "s/Cflags: .*/\\0 -DGLEW_STATIC/" /ext/lib/pkgconfig/glew.pc
# TR1X
FROM mingw
@ -134,12 +159,6 @@ FROM mingw
RUN mkdir /app
WORKDIR /app
COPY --from=pcre2 /ext/ /ext/
COPY --from=zlib /ext/ /ext/
COPY --from=libav /ext/ /ext/
COPY --from=sdl /ext/ /ext/
COPY --from=uthash /ext/ /ext/
# system dependencies
# configure pkgconfig manually
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=967969
@ -153,6 +172,13 @@ RUN apt-get install -y \
meson \
ninja
COPY --from=pcre2 /ext/ /ext/
COPY --from=zlib /ext/ /ext/
COPY --from=libav /ext/ /ext/
COPY --from=sdl /ext/ /ext/
COPY --from=uthash /ext/ /ext/
COPY --from=glew /ext/ /ext/
ENV PKG_CONFIG_LIBDIR=/ext/lib/
ENV PKG_CONFIG_PATH=/ext/lib/pkgconfig/
ENV C_INCLUDE_PATH=/ext/include/

View file

@ -99,6 +99,28 @@ RUN cd SDL \
# GLEW
FROM base AS glew
RUN git clone https://github.com/nigels-com/glew.git
RUN apt-get install -y \
build-essential \
libxmu-dev \
libxi-dev \
libgl-dev \
python3
RUN cd glew/auto \
&& PYTHON=python3 make
RUN mkdir -p /ext/lib \
&& export \
GLEW_NO_GLU=-DGLEW_NO_GLU \
GLEW_DEST=/ext \
&& cd glew \
&& make \
&& make install
RUN sed -i "s/Cflags: .*/\\0 -DGLEW_STATIC /" /ext/lib/pkgconfig/glew.pc
# TR2X
FROM base
@ -134,6 +156,7 @@ COPY --from=libav /ext/ /ext/
COPY --from=sdl /ext/ /ext/
COPY --from=backtrace /ext/ /ext/
COPY --from=pcre2 /ext/ /ext/
COPY --from=glew /ext/ /ext/
ENV PYTHONPATH=/app/tools/
ENTRYPOINT ["/app/tools/tr2/docker/game-linux/entrypoint.sh"]

View file

@ -112,6 +112,29 @@ RUN cp -rL uthash-2.3.0/* /ext/
# GLEW
FROM mingw as glew
RUN git clone https://github.com/nigels-com/glew.git
RUN apt-get install -y \
build-essential \
libxmu-dev \
libxi-dev \
libgl-dev \
python3
RUN cd glew/auto \
&& PYTHON=python3 make
RUN mkdir -p /ext/lib \
&& export \
SYSTEM=linux-mingw32 \
GLEW_NO_GLU=-DGLEW_NO_GLU \
GLEW_DEST=/ext \
&& cd glew \
&& make \
&& make install
RUN sed -i "s/Cflags: .*/\\0 -DGLEW_STATIC/" /ext/lib/pkgconfig/glew.pc
# TR2X
FROM mingw
@ -119,12 +142,6 @@ FROM mingw
RUN mkdir /app
WORKDIR /app
COPY --from=pcre2 /ext/ /ext/
COPY --from=zlib /ext/ /ext/
COPY --from=libav /ext/ /ext/
COPY --from=sdl /ext/ /ext/
COPY --from=uthash /ext/ /ext/
# system dependencies
# configure pkgconfig manually
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=967969
@ -138,6 +155,13 @@ RUN apt-get install -y \
meson \
ninja
COPY --from=pcre2 /ext/ /ext/
COPY --from=zlib /ext/ /ext/
COPY --from=libav /ext/ /ext/
COPY --from=sdl /ext/ /ext/
COPY --from=uthash /ext/ /ext/
COPY --from=glew /ext/ /ext/
ENV PKG_CONFIG_LIBDIR=/ext/lib/
ENV PKG_CONFIG_PATH=/ext/lib/pkgconfig/
ENV C_INCLUDE_PATH=/ext/include/