Adding docker file for fann build
This commit is contained in:
parent
36384fd6ff
commit
43b373322c
2 changed files with 35 additions and 0 deletions
16
fann-builder/Dockerfile
Normal file
16
fann-builder/Dockerfile
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
FROM alpine:latest
|
||||
|
||||
# Install all necessary tools: git, musl-gcc (which is just gcc in Alpine), make
|
||||
RUN apk add --no-cache \
|
||||
git \
|
||||
build-base \
|
||||
musl-dev
|
||||
|
||||
# Create a non-root user to run the build (best practice)
|
||||
RUN adduser -D builder
|
||||
USER builder
|
||||
WORKDIR /home/builder
|
||||
|
||||
# The default command will be the build script
|
||||
COPY build.sh .
|
||||
CMD ["/bin/sh", "build.sh"]
|
||||
19
fann-builder/build.sh
Normal file
19
fann-builder/build.sh
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Clone the specific FANN version you want (e.g., latest from master)
|
||||
git clone https://github.com/libfann/fann.git
|
||||
cd fann/src
|
||||
|
||||
# Build the library exactly as you specified
|
||||
musl-gcc -c -O2 -fPIC -I../src/include -DDISABLE_PARALLEL_FANN -o floatfann.o floatfann.c
|
||||
musl-gcc -c -O2 -fPIC -I../src/include -DDISABLE_PARALLEL_FANN -o doublefann.o doublefann.c
|
||||
musl-gcc -c -O2 -fPIC -I../src/include -DDISABLE_PARALLEL_FANN -o fixedfann.o fixedfann.c
|
||||
ar rcs libfann.a floatfann.o doublefann.o fixedfann.o
|
||||
|
||||
# Copy the crucial artifacts to a folder called 'output'
|
||||
# TeamCity will look for files in the working directory after the build.
|
||||
mkdir -p ../output
|
||||
cp libfann.a ../output/
|
||||
cp ../src/include/fann.h ../output/
|
||||
|
||||
echo "Build complete! Artifacts are in the 'output' directory."
|
||||
Loading…
Add table
Reference in a new issue