Initial commit - some engine bugs stopping compiling
This commit is contained in:
177
third-party/glad/utility/compiletest.sh
vendored
Executable file
177
third-party/glad/utility/compiletest.sh
vendored
Executable file
@@ -0,0 +1,177 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z ${PYTHON+x} ]; then
|
||||
PYTHON="/usr/bin/env python"
|
||||
fi
|
||||
|
||||
echo "Using python \"$PYTHON\""
|
||||
|
||||
if [ "$1" != "no-download" ]; then
|
||||
./utility/download.sh
|
||||
fi
|
||||
|
||||
GCC_FLAGS="-o build/tmp.o -Wall -Wextra -Wsign-conversion -Wcast-qual -Wstrict-prototypes -Werror -ansi -c"
|
||||
GPP_FLAGS="-o build/tmp.o -Wall -Wextra -Wsign-conversion -Wcast-qual -Werror -c"
|
||||
|
||||
|
||||
function echorun {
|
||||
echo $@
|
||||
$@
|
||||
}
|
||||
|
||||
function mingwc_compile {
|
||||
echorun i686-w64-mingw32-gcc $@
|
||||
echorun x86_64-w64-mingw32-gcc $@
|
||||
}
|
||||
|
||||
function c_compile {
|
||||
echorun gcc $@ -ldl
|
||||
mingwc_compile $@
|
||||
}
|
||||
|
||||
function mingwcpp_compile {
|
||||
echorun i686-w64-mingw32-g++ $@
|
||||
echorun x86_64-w64-mingw32-g++ $@
|
||||
}
|
||||
|
||||
function cpp_compile {
|
||||
echorun g++ $@ -ldl
|
||||
mingwcpp_compile $@
|
||||
}
|
||||
|
||||
|
||||
function download_if_required {
|
||||
if [ ! -f $1 ]; then
|
||||
mkdir -p $(dirname "${1}")
|
||||
filename=$(basename "${1}")
|
||||
if [ ! -f ${filename} ]; then
|
||||
wget -O ${filename} $2
|
||||
fi
|
||||
cp ${filename} $1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# C
|
||||
echo -e "====================== Generating and compiling C/C++: ======================"
|
||||
|
||||
rm -rf build
|
||||
download_if_required build/include/EGL/eglplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/EGL/eglplatform.h"
|
||||
download_if_required build/include/KHR/khrplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/KHR/khrplatform.h"
|
||||
${PYTHON} -m glad --api="egl" --out-path=build c
|
||||
c_compile -Ibuild/include build/src/egl.c ${GCC_FLAGS}
|
||||
cpp_compile -Ibuild/include build/src/egl.c ${GPP_FLAGS}
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:compatibility" --out-path=build c
|
||||
c_compile -Ibuild/include build/src/gl.c ${GCC_FLAGS}
|
||||
cpp_compile -Ibuild/include build/src/gl.c ${GPP_FLAGS}
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:core" --out-path=build c
|
||||
c_compile -Ibuild/include build/src/gl.c ${GCC_FLAGS}
|
||||
cpp_compile -Ibuild/include build/src/gl.c ${GPP_FLAGS}
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:core=2.1" --out-path=build c
|
||||
c_compile -Ibuild/include build/src/gl.c ${GCC_FLAGS}
|
||||
cpp_compile -Ibuild/include build/src/gl.c ${GPP_FLAGS}
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:core" --out-path=build c
|
||||
${PYTHON} -m glad --api="glx" --out-path=build c
|
||||
echorun gcc -Ibuild/include build/src/glx.c ${GCC_FLAGS}
|
||||
echorun g++ -Ibuild/include build/src/glx.c ${GPP_FLAGS}
|
||||
|
||||
# Example
|
||||
# echorun gcc example/c/simple.c -o build/simple -Ibuild/include build/src/gl.c -lglut -ldl
|
||||
# mingwc_compile example/c/simple.c -o build/simple -Ibuild/include build/src/gl.c -lfreeglut
|
||||
# echorun g++ example/c++/hellowindow2.cpp -o build/hellowindow2 -Ibuild/include build/src/gl.c -lglfw -ldl
|
||||
# mingwcpp_compile example/c++/hellowindow2.cpp -o build/hellowindow2 -Ibuild/include build/src/gl.c -lglfw3 -lgdi32
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:core" --out-path=build c
|
||||
${PYTHON} -m glad --api="wgl" --out-path=build c
|
||||
mingwc_compile -Ibuild/include build/src/wgl.c ${GCC_FLAGS}
|
||||
mingwcpp_compile -Ibuild/include build/src/wgl.c ${GPP_FLAGS}
|
||||
|
||||
|
||||
# C-Debug
|
||||
echo -e "====================== Generating and compiling C/C++ Debug: ======================"
|
||||
|
||||
rm -rf build
|
||||
download_if_required build/include/EGL/eglplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/EGL/eglplatform.h"
|
||||
download_if_required build/include/KHR/khrplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/KHR/khrplatform.h"
|
||||
${PYTHON} -m glad --api="egl" --out-path=build c --debug
|
||||
c_compile -Ibuild/include build/src/egl.c ${GCC_FLAGS}
|
||||
cpp_compile -Ibuild/include build/src/egl.c ${GPP_FLAGS}
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:compatibility" --out-path=build c --debug
|
||||
c_compile -Ibuild/include build/src/gl.c ${GCC_FLAGS}
|
||||
cpp_compile -Ibuild/include build/src/gl.c ${GPP_FLAGS}
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:core" --out-path=build c --debug
|
||||
c_compile -Ibuild/include build/src/gl.c ${GCC_FLAGS}
|
||||
cpp_compile -Ibuild/include build/src/gl.c ${GPP_FLAGS}
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:core=2.1" --out-path=build c --debug
|
||||
c_compile -Ibuild/include build/src/gl.c ${GCC_FLAGS}
|
||||
cpp_compile -Ibuild/include build/src/gl.c ${GPP_FLAGS}
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:core" --out-path=build c --debug
|
||||
${PYTHON} -m glad --api="glx" --out-path=build c --debug
|
||||
echorun gcc -Ibuild/include build/src/glx.c ${GCC_FLAGS}
|
||||
echorun g++ -Ibuild/include build/src/glx.c ${GPP_FLAGS}
|
||||
|
||||
# Example
|
||||
# echorun gcc example/c/simple.c -o build/simple -Ibuild/include build/src/gl.c -lglut -ldl
|
||||
# mingwc_compile example/c/simple.c -o build/simple -Ibuild/include build/src/gl.c -lfreeglut
|
||||
# echorun g++ example/c++/hellowindow2.cpp -o build/hellowindow2 -Ibuild/include build/src/gl.c -lglfw -ldl
|
||||
# mingwcpp_compile example/c++/hellowindow2.cpp -o build/hellowindow2 -Ibuild/include build/src/gl.c -lglfw3 -lgdi32
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl:core" --out-path=build c --debug
|
||||
${PYTHON} -m glad --api="wgl" --out-path=build c --debug
|
||||
mingwc_compile -Ibuild/include build/src/wgl.c ${GCC_FLAGS}
|
||||
mingwcpp_compile -Ibuild/include build/src/wgl.c ${GPP_FLAGS}
|
||||
|
||||
|
||||
# D
|
||||
echo -e "\n====================== Generating and compiling D: ======================"
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="egl=" --out-path=build d
|
||||
echorun dmd -o- build/glad/egl/*.d -c
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="gl=,gles1=,gles2=" --out-path=build d
|
||||
echorun dmd -o- build/glad/gl/*.d -c
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --generator=d --api="gl=" --out-path=build d
|
||||
${PYTHON} -m glad --generator=d --api="glx=" --out-path=build d
|
||||
echorun dmd -o- build/glad/glx/*.d -c
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --generator=d --api="gl=" --out-path=build d
|
||||
${PYTHON} -m glad --generator=d --api="wgl=" --out-path=build d
|
||||
echorun dmd -o- build/glad/wgl/*.d -c
|
||||
|
||||
|
||||
# Volt TODO
|
||||
echo -e "\n====================== Generating Volt: ======================"
|
||||
|
||||
rm -rf build
|
||||
${PYTHON} -m glad --api="egl=" --out-path=build volt
|
||||
${PYTHON} -m glad --api="gl=" --out-path=build volt
|
||||
${PYTHON} -m glad --api="glx=" --out-path=build volt
|
||||
${PYTHON} -m glad --api="wgl=" --out-path=build volt
|
||||
|
||||
|
||||
rm -rf build
|
||||
Reference in New Issue
Block a user