Still working on Pi build.

This commit is contained in:
Scott Duensing 2020-02-02 18:46:45 -06:00
parent ff45c64b7f
commit f365a11b2f
7 changed files with 49 additions and 31 deletions

View file

@ -26,6 +26,13 @@ sudo umount /tmp/mnt-${DIST}
proot -S ${DIST} -q qemu-arm apt-get -y update proot -S ${DIST} -q qemu-arm apt-get -y update
proot -S ${DIST} -q qemu-arm apt-get -y upgrade proot -S ${DIST} -q qemu-arm apt-get -y upgrade
proot -S ${DIST} -q qemu-arm apt-get -y install libxv-dev libx11-dev libxext-dev libxi-dev proot -S ${DIST} -q qemu-arm apt-get -y install libxv-dev libx11-dev libxext-dev libxi-dev
proot -S ${DIST} -q qemu-arm apt-get -y install libomxil-bellagio-bin libomxil-bellagio-dev libraspberrypi-dev
proot -S ${DIST} -q qemu-arm apt-get -y install libopenal-dev libasound2-dev proot -S ${DIST} -q qemu-arm apt-get -y install libopenal-dev libasound2-dev
touch ${DIST}/usr/include/immintrin.h touch ${DIST}/usr/include/immintrin.h
git clone https://github.com/raspberrypi/tools.git
wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
chmod +x sysroot-relativelinks.py
./sysroot-relativelinks.py buster/

View file

@ -87,8 +87,8 @@ SKIP
# 32 Bit Raspbian # 32 Bit Raspbian
SYSROOT="/opt/cross/pi/buster" SYSROOT="/opt/cross/pi/buster"
CROSS="arm-linux-gnueabihf" CROSS="/opt/cross/pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf"
EXTRA_CFLAGS="--sysroot ${SYSROOT}" EXTRA_CFLAGS="--sysroot ${SYSROOT}"
EXTRA_OFILES="" EXTRA_OFILES=""
EXTRA_LD_FLAGS="--sysroot ${SYSROOT} -l:everything.a -Wl,-rpath,/opt/vc/lib -L${SYSROOT}/opt/vc/lib -lbcm_host -lpthread -lXv -lX11 -lXext -lXi -lm -ldl -lrt" EXTRA_LD_FLAGS="--sysroot ${SYSROOT} -l:everything.a -Wl,-rpath-link,${SYSROOT}/opt/vc/lib -L${SYSROOT}/opt/vc/lib -lbcm_host -lasound -lpthread -lXv -lX11 -lXext -lXi -lm -ldl -lrt -lsndio -lXcursor -lXinerama -lXrandr -lXss -lXxf86vm -lmmal_core -lmmal_util -lmmal_vc_client -lvdpau"
doBuild Singe-Pi-armv6 pi 32 doBuild Singe-Pi-armv6 pi 32

View file

@ -140,7 +140,7 @@ int main(int argc, char *argv[]) {
{ "volume_vldp", optional_argument, NULL, 'l' }, { "volume_vldp", optional_argument, NULL, 'l' },
{ "volume_nonlvdp", optional_argument, NULL, 'e' }, { "volume_nonlvdp", optional_argument, NULL, 'e' },
{ "scalefactor", optional_argument, NULL, 'o' }, { "scalefactor", optional_argument, NULL, 'o' },
{ "sinden", optional_argument, NULL, 'g' }, { "sindengun", optional_argument, NULL, 'g' },
{ "aspect", optional_argument, NULL, 'a' }, { "aspect", optional_argument, NULL, 'a' },
{ "xresolution", optional_argument, NULL, 'x' }, { "xresolution", optional_argument, NULL, 'x' },
{ "yresolution", optional_argument, NULL, 'y' }, { "yresolution", optional_argument, NULL, 'y' },
@ -186,7 +186,7 @@ int main(int argc, char *argv[]) {
while (true) { while (true) {
optionIndex = 0; optionIndex = 0;
opterr = 0; opterr = 0;
x = getopt_long(argc, argv, "cmnsfwha:d:v:l:e:z:x:y:o:g:", options, &optionIndex); x = getopt_long(argc, argv, "cmnsfwhza:d:v:l:e:x:y:o:g:", options, &optionIndex);
// Out of options? // Out of options?
if (x == -1) break; if (x == -1) break;
@ -413,7 +413,7 @@ int main(int argc, char *argv[]) {
// Sinden light gun? // Sinden light gun?
if (sindenString) { if (sindenString) {
if (_confScaleFactor != 100) showUsage(argv[0], "Cannot use --sinden and --scalefactor together."); if (_confScaleFactor != 100) showUsage(argv[0], "Cannot use --sindengun and --scalefactor together.");
// Was it wrapped in quotes? // Was it wrapped in quotes?
if ((sindenString[0] == '"') || (sindenString[0] == '\'')) { if ((sindenString[0] == '"') || (sindenString[0] == '\'')) {
sindenString[0] = ' '; sindenString[0] = ' ';
@ -428,10 +428,10 @@ int main(int argc, char *argv[]) {
while (temp != NULL) { while (temp != NULL) {
_confSindenArgv[_confSindenArgc++] = atoi(temp); _confSindenArgv[_confSindenArgc++] = atoi(temp);
temp = strtok(NULL, " "); temp = strtok(NULL, " ");
if ((temp != NULL) && (_confSindenArgc > SINDEN_OPTION_COUNT)) showUsage(argv[0], "Too many arguments to --sinden."); if ((temp != NULL) && (_confSindenArgc > SINDEN_OPTION_COUNT)) showUsage(argv[0], "Too many arguments to --sindengun.");
} }
// Did we get a sane number of arguments? // Did we get a sane number of arguments?
if ((_confSindenArgc != SINDEN_WHITE) && (_confSindenArgc != SINDEN_WHITE_BLACK) && (_confSindenArgc != SINDEN_CUSTOM_WHITE) && (_confSindenArgc != SINDEN_CUSTOM_WHITE_BLACK) && (_confSindenArgc != SINDEN_CUSTOM_WHITE_CUSTOM_BLACK)) showUsage(argv[0], "Bad argument count to --sinden."); if ((_confSindenArgc != SINDEN_WHITE) && (_confSindenArgc != SINDEN_WHITE_BLACK) && (_confSindenArgc != SINDEN_CUSTOM_WHITE) && (_confSindenArgc != SINDEN_CUSTOM_WHITE_BLACK) && (_confSindenArgc != SINDEN_CUSTOM_WHITE_CUSTOM_BLACK)) showUsage(argv[0], "Bad argument count to --sindengun.");
free(sindenString); free(sindenString);
} }

View file

@ -40,17 +40,18 @@ G_L="---------------------------------------------------------------------------
# Work out compiler settings # Work out compiler settings
case "${G_PLATFORM}" in case "${G_PLATFORM}" in
pi-broke) pi)
G_CROSS_HOME="/opt/cross/pi/32bit/bin" G_CROSS_HOME="/opt/cross/pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin"
G_OS="linux" G_OS="linux"
G_CCOMPILER="${G_CROSS_HOME}/arm-unknown-linux-gnueabi-gcc" G_CCOMPILER="${G_CROSS_HOME}/arm-linux-gnueabihf-gcc"
G_CPPCOMPILER="${G_CROSS_HOME}/arm-unknown-linux-gnueabi-g++" G_CPPCOMPILER="${G_CROSS_HOME}/arm-linux-gnueabihf-g++"
G_CROSS="arm-unknown-linux-gnueabi" G_CROSS="arm-linux-gnueabihf"
G_LUAPLAT="posix" G_LUAPLAT="posix"
G_ARCH="armv6" G_ARCH="armv6"
G_SYSROOT="/opt/cross/pi/buster"
;; ;;
pi) pi32)
G_OS="linux" G_OS="linux"
G_CCOMPILER="arm-linux-gnueabihf-gcc" G_CCOMPILER="arm-linux-gnueabihf-gcc"
G_CPPCOMPILER="arm-linux-gnueabihf-g++" G_CPPCOMPILER="arm-linux-gnueabihf-g++"
@ -133,8 +134,8 @@ function autoBuild() {
export CXXFLAGS="${MORE_CFLAGS} -isystem${G_INSTALLED}/include" export CXXFLAGS="${MORE_CFLAGS} -isystem${G_INSTALLED}/include"
export CPPFLAGS="${MORE_CFLAGS} -isystem${G_INSTALLED}/include" export CPPFLAGS="${MORE_CFLAGS} -isystem${G_INSTALLED}/include"
export LDFLAGS="${MORE_LIBS} -L${G_INSTALLED}/lib" export LDFLAGS="${MORE_LIBS} -L${G_INSTALLED}/lib"
export LD_LIBRARY_PATH=${G_INSTALLED}/lib export LD_LIBRARY_PATH="${G_INSTALLED}/lib"
export PKG_CONFIG_LIBDIR=${G_INSTALLED}/lib/pkgconfig export PKG_CONFIG_LIBDIR="${G_INSTALLED}/lib/pkgconfig"
if [[ "${LOCATION}" == "ffmpeg" ]]; then if [[ "${LOCATION}" == "ffmpeg" ]]; then
"${G_THIRDPARTY}/${LOCATION}/configure" \ "${G_THIRDPARTY}/${LOCATION}/configure" \
@ -371,7 +372,13 @@ DEPS_CFLAGS="-I${G_INSTALLED}/include -I${G_INSTALLED}/include/opus" \
autoBuild libopusfile.a SDL2_mixer/external/opusfile-0.11 --disable-http autoBuild libopusfile.a SDL2_mixer/external/opusfile-0.11 --disable-http
# === FFMPEG === # === FFMPEG ===
autoBuild libavcodec.a ffmpeg "--disable-debug --disable-muxers --disable-encoders --disable-filters --disable-hwaccels --disable-network --disable-devices --enable-gpl" if [[ "${G_PLATFORM}" == "pi" ]]; then
MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include/IL -I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads" # -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux"
MORE_LIBS="-Wl,-rpath-link,${G_SYSROOT}/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lpthread -lm -ldl -lrt"
autoBuild libavcodec.a ffmpeg "--disable-debug --disable-muxers --enable-mmal --enable-omx-rpi --enable-omx --disable-encoders --disable-filters --disable-network --disable-devices --enable-gpl"
else
autoBuild libavcodec.a ffmpeg "--disable-debug --disable-muxers --disable-hwaccels --disable-encoders --disable-filters --disable-network --disable-devices --enable-gpl"
fi
if [[ ! -e extensions.h ]]; then if [[ ! -e extensions.h ]]; then
createExtensionHeader "${G_DEST}/installed/bin/ffmpeg" > extensions.h createExtensionHeader "${G_DEST}/installed/bin/ffmpeg" > extensions.h
fi fi
@ -379,8 +386,12 @@ fi
# === FFMS2 === # === FFMS2 ===
if [[ "${G_PLATFORM}" == "mingw" ]]; then if [[ "${G_PLATFORM}" == "mingw" ]]; then
FFMPEG_LIBS="-L${G_INSTALLED}/lib -l:libavformat.a -l:libavcodec.a -l:libswscale.a -l:libavutil.a -l:libswresample.a -l:libz.a -l:liblzma.a -l:libbz2.a -lm -lbcrypt" \ FFMPEG_LIBS="-L${G_INSTALLED}/lib -l:libavformat.a -l:libavcodec.a -l:libswscale.a -l:libavutil.a -l:libswresample.a -l:libz.a -l:liblzma.a -l:libbz2.a -lm -lbcrypt" \
autoBuild libffms2.a ffms2 "" "src/core/libffms2.la install-libLTLIBRARIES install-includeHEADERS" autoBuild libffms2.a ffms2 "" "src/core/libffms2.la install-libLTLIBRARIES install-includeHEADERS"
else else
if [[ "${G_PLATFORM}" == "pi" ]]; then
MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include/IL -I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads" # -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux"
MORE_LIBS="-Wl,-rpath-link,${G_SYSROOT}/opt/vc/lib -L${G_SYSROOT}/usr/lib/arm-linux-gnueabihf/vdpau -L${G_SYSROOT}/opt/vc/lib -lpthread -lm -ldl -lrt -llzma -lmmal_core -lmmal_util -lmmal_vc_client -lbcm_host -lz -lvdpau"
fi
FFMPEG_LIBS="-L${G_INSTALLED}/lib -l:libavformat.a -l:libavcodec.a -l:libswscale.a -l:libavutil.a -l:libswresample.a -l:libz.a -l:liblzma.a -l:libbz2.a -lpthread -lXv -lX11 -lXext -lm" \ FFMPEG_LIBS="-L${G_INSTALLED}/lib -l:libavformat.a -l:libavcodec.a -l:libswscale.a -l:libavutil.a -l:libswresample.a -l:libz.a -l:liblzma.a -l:libbz2.a -lpthread -lXv -lX11 -lXext -lm" \
autoBuild libffms2.a ffms2 autoBuild libffms2.a ffms2
fi fi
@ -394,7 +405,7 @@ autoBuild libharfbuzz.a harfbuzz "--with-glib=no --with-icu=builtin --with-cairo
# === SDL2 === # === SDL2 ===
if [[ "${G_PLATFORM}" == "pi" ]]; then if [[ "${G_PLATFORM}" == "pi" ]]; then
MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux" MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux"
MORE_LIBS="-Wl,-rpath,/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lbcm_host -lpthread -lm -ldl -lrt" MORE_LIBS="-Wl,-rpath-link,${G_SYSROOT}/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lbcm_host -lpthread -lm -ldl -lrt"
autoBuild libSDL2.a SDL2 "--disable-pulseaudio --disable-esd --disable-video-wayland --enable-video-rpi --enable-alsa" autoBuild libSDL2.a SDL2 "--disable-pulseaudio --disable-esd --disable-video-wayland --enable-video-rpi --enable-alsa"
else else
autoBuild libSDL2.a SDL2 autoBuild libSDL2.a SDL2
@ -403,14 +414,14 @@ fi
# === SDL2_image === *** Not finding libtiff *** # === SDL2_image === *** Not finding libtiff ***
if [[ "${G_PLATFORM}" == "pi" ]]; then if [[ "${G_PLATFORM}" == "pi" ]]; then
MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux" MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux"
MORE_LIBS="-Wl,-rpath,/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lbcm_host" MORE_LIBS="-Wl,-rpath-link,${G_SYSROOT}/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lbcm_host"
fi fi
autoBuild libSDL2_image.a SDL2_image "--disable-jpg-shared --disable-png-shared --disable-tif-shared --disable-webp-shared" autoBuild libSDL2_image.a SDL2_image "--disable-jpg-shared --disable-png-shared --disable-tif-shared --disable-webp-shared"
# === SDL2_mixer === # === SDL2_mixer ===
if [[ "${G_PLATFORM}" == "pi" ]]; then if [[ "${G_PLATFORM}" == "pi" ]]; then
MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux" MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux"
MORE_LIBS="-Wl,-rpath,/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lbcm_host" MORE_LIBS="-Wl,-rpath-link,${G_SYSROOT}/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lbcm_host"
fi fi
MODPLUG_CFLAGS="-I${G_INSTALLED}/include -DMODPLUG_STATIC" \ MODPLUG_CFLAGS="-I${G_INSTALLED}/include -DMODPLUG_STATIC" \
MODPLUG_LIBS="-L${G_INSTALLED}/lib -lmodplug -lstdc++ -lm" \ MODPLUG_LIBS="-L${G_INSTALLED}/lib -lmodplug -lstdc++ -lm" \
@ -419,7 +430,7 @@ MODPLUG_CFLAGS="-I${G_INSTALLED}/include -DMODPLUG_STATIC" \
# === SDL2_ttf === # === SDL2_ttf ===
if [[ "${G_PLATFORM}" == "pi" ]]; then if [[ "${G_PLATFORM}" == "pi" ]]; then
MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux" MORE_CFLAGS="-I${G_SYSROOT}/opt/vc/include -I${G_SYSROOT}/usr/include -I${G_SYSROOT}/opt/vc/include/interface/vcos/pthreads -I${G_SYSROOT}/opt/vc/include/interface/vmcs_host/linux"
MORE_LIBS="-Wl,-rpath,/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lbcm_host" MORE_LIBS="-Wl,-rpath-link,${G_SYSROOT}/opt/vc/lib -L${G_SYSROOT}/opt/vc/lib -lbcm_host"
fi fi
MORE_CFLAGS="${MORE_CFLAGS} -I${G_INSTALLED}/include/SDL2" \ MORE_CFLAGS="${MORE_CFLAGS} -I${G_INSTALLED}/include/SDL2" \
autoBuild libSDL2_ttf.a SDL2_ttf "--with-ft-prefix=\"${G_INSTALLED}\" --with-sdl-prefix=\"${G_INSTALLED}\"" "libSDL2_ttf.la install-libLTLIBRARIES install-libSDL2_ttfincludeHEADERS" autoBuild libSDL2_ttf.a SDL2_ttf "--with-ft-prefix=\"${G_INSTALLED}\" --with-sdl-prefix=\"${G_INSTALLED}\"" "libSDL2_ttf.la install-libLTLIBRARIES install-libSDL2_ttfincludeHEADERS"

View file

@ -394,9 +394,9 @@ distclean-generic:
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
@HAVE_DOXYGEN_FALSE@install-data-local:
@HAVE_DOXYGEN_FALSE@uninstall-local:
@HAVE_DOXYGEN_FALSE@clean-local: @HAVE_DOXYGEN_FALSE@clean-local:
@HAVE_DOXYGEN_FALSE@uninstall-local:
@HAVE_DOXYGEN_FALSE@install-data-local:
clean: clean-am clean: clean-am
clean-am: clean-generic clean-libtool clean-local mostlyclean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am

View file

@ -1018,9 +1018,9 @@ distclean-generic:
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
@HAVE_DOXYGEN_FALSE@clean-local:
@HAVE_DOXYGEN_FALSE@uninstall-local:
@HAVE_DOXYGEN_FALSE@install-data-local: @HAVE_DOXYGEN_FALSE@install-data-local:
@HAVE_DOXYGEN_FALSE@uninstall-local:
@HAVE_DOXYGEN_FALSE@clean-local:
clean: clean-am clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \

View file

@ -77,10 +77,10 @@ __attribute__((__format__(__printf__, 1, 0)))
__attribute__((noreturn)) __attribute__((noreturn))
void utilDie(char *fmt, ...) { void utilDie(char *fmt, ...) {
va_list args; va_list args;
va_start(args, fmt);
vfprintf(stderr, fmt, args);
va_end(args);
if (!_confNoConsole) { if (!_confNoConsole) {
va_start(args, fmt);
vfprintf(stderr, fmt, args);
va_end(args);
printf("\n"); printf("\n");
fflush(stderr); fflush(stderr);
#ifdef _WIN32 #ifdef _WIN32
@ -290,10 +290,10 @@ void utilRedirectConsole(void) {
__attribute__((__format__(__printf__, 1, 0))) __attribute__((__format__(__printf__, 1, 0)))
void utilSay(char *fmt, ...) { void utilSay(char *fmt, ...) {
va_list args; va_list args;
va_start(args, fmt);
vfprintf(stdout, fmt, args);
va_end(args);
if (!_confNoConsole) { if (!_confNoConsole) {
va_start(args, fmt);
vfprintf(stdout, fmt, args);
va_end(args);
printf("\n"); printf("\n");
fflush(stdout); fflush(stdout);
} }