Skip to content

Instantly share code, notes, and snippets.

@suqdiq
Created October 26, 2022 15:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suqdiq/4f710027175479465fba43f0ad57472b to your computer and use it in GitHub Desktop.
Save suqdiq/4f710027175479465fba43f0ad57472b to your computer and use it in GitHub Desktop.
cross compile gsocket for sh4 / superh
FROM debian:stable
## install deps
ENV OPENSSL_VERSION 1.1.1q
RUN apt-get update
RUN apt-get install -y build-essential \
gcc-sh4-linux-gnu \
git curl autoconf automake wget \
libssl-dev file \
gcc-9-sh4-linux-gnu libgcc-9-dev-sh4-cross gcc-9-plugin-dev-sh4-linux-gnu \
libstdc++-9-dev-sh4-cross libstdc++-9-pic-sh4-cross libstdc++6-sh4-cross
ENV CROSS_INSTALL_PREFIX /cross_output
ENV CROSS_COMPILE_BIN_PREFIX /usr/bin/sh4-linux-gnu
ENV CROSS_COMPILE_HOME /usr/sh4-linux-gnu
ENV CC $CROSS_COMPILE_BIN_PREFIX-gcc
ENV LD $CROSS_COMPILE_BIN_PREFIX-ld
ENV AR $CROSS_COMPILE_BIN_PREFIX-ar
ENV AS $CROSS_COMPILE_BIN_PREFIX-as
ENV NM $CROSS_COMPILE_BIN_PREFIX-nm
ENV RANLIB $CROSS_COMPILE_BIN_PREFIX-ranlib
ENV CPPFLAGS "-I$CROSS_COMPILE_HOME/include/"
ENV LDFLAGS "-L$CROSS_COMPILE_HOME/lib/ -L$CROSS_COMPILE_HOME/lib64/ -L$CROSS_INSTALL_PREFIX/lib/"
ENV PATH=$CROSS_COMPILE_HOME/bin:$PATH
ENV LIBS -ldl
RUN mkdir $CROSS_INSTALL_PREFIX
RUN mkdir /build
WORKDIR "/build"
RUN git clone https://github.com/hackerschoice/gsocket
RUN wget -qc https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz.sha256 https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz
RUN tar xf openssl-$OPENSSL_VERSION.tar.gz
WORKDIR "/build/openssl-$OPENSSL_VERSION"
RUN ./Configure linux-generic32 --prefix=$CROSS_INSTALL_PREFIX --openssldir=$CROSS_INSTALL_PREFIX -static LIBS=-ldl
RUN make
RUN make install
WORKDIR "/build/gsocket"
## fixiewixie the configure.ac fuqywucky regarding static builds
RUN sed -i '151,152d;148,149d;142,143d;' configure.ac
RUN ./bootstrap
RUN ./configure --host=sh4-linux-gnu --enable-stealth --enable-dist --target=sh4-linux --prefix=$CROSS_INSTALL_PREFIX --enable-static
RUN make
RUN file tools/gs-netcat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment