From f5b0164d417c274ec3547bf762d5436a5327b660 Mon Sep 17 00:00:00 2001 From: Alcaro Date: Sat, 8 Feb 2020 15:37:57 +0100 Subject: [PATCH] Disable more emu config under Flatpak, move Flatpak-specific stuff from make.sh --- flatpak/com.github.Alcaro.Flips.json | 4 ++-- flips-gtk.cpp | 13 +++++++++++++ make.sh | 24 ++++-------------------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/flatpak/com.github.Alcaro.Flips.json b/flatpak/com.github.Alcaro.Flips.json index 63b59f2..2c17ed0 100644 --- a/flatpak/com.github.Alcaro.Flips.json +++ b/flatpak/com.github.Alcaro.Flips.json @@ -20,8 +20,8 @@ "name" : "flips", "buildsystem" : "simple", "build-commands": [ - "sh make.sh --flatpak=yes", - "sh make.sh --flatpak=yes --install=yes" + "sh make.sh --cflags=-DFLATPAK", + "make install" ], "sources" : [ { diff --git a/flips-gtk.cpp b/flips-gtk.cpp index e8f01b5..eaef261 100644 --- a/flips-gtk.cpp +++ b/flips-gtk.cpp @@ -700,6 +700,16 @@ cleanup: g_free(romname); } +#ifdef FLATPAK +static void flatpakDisable(GtkWidget* widget) +{ + gtk_widget_set_sensitive(widget, false); + gtk_widget_set_tooltip_text(widget, "Running in emulators is not available in Flatpak"); +} +#else +static void flatpakDisable(GtkWidget* widget) {} +#endif + static void a_SetEmulator(GtkButton* widget, gpointer user_data); static void a_ShowSettings(GtkButton* widget, gpointer user_data) { @@ -722,6 +732,7 @@ static void a_ShowSettings(GtkButton* widget, gpointer user_data) GtkWidget* button=gtk_button_new_with_mnemonic("Select _Emulator"); g_signal_connect(button, "clicked", G_CALLBACK(a_SetEmulator), settingswindow); gtk_grid_attach(grid, button, 0,0, 1,1); + flatpakDisable(button); GtkWidget* text=gtk_label_new("When opening through associations:"); gtk_grid_attach(grid, text, 0,1, 1,1); @@ -734,6 +745,7 @@ static void a_ShowSettings(GtkButton* widget, gpointer user_data) emuAssoc=gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(emuAssoc), "R_un in Emulator"); gtk_grid_attach(radioGrid, emuAssoc, 1,0, 1,1); g_object_ref(emuAssoc);//otherwise it, and its value, gets eaten when I close the window, before I can save its value anywhere + flatpakDisable(emuAssoc); if (cfg.getint("assocemu")) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(emuAssoc), true); gtk_grid_attach(grid, GTK_WIDGET(radioGrid), 0,2, 1,1); @@ -742,6 +754,7 @@ static void a_ShowSettings(GtkButton* widget, gpointer user_data) if (cfg.getint("autorom")) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(autoRom), true); g_object_ref(autoRom); gtk_grid_attach(grid, autoRom, 0,3, 1,1); + flatpakDisable(autoRom); gtk_container_add(GTK_CONTAINER(settingswindow), GTK_WIDGET(grid)); diff --git a/make.sh b/make.sh index 43f41bf..8d3e820 100755 --- a/make.sh +++ b/make.sh @@ -2,8 +2,6 @@ #This script creates a heavily optimized Linux binary. For debugging or Windows, you're better off using the Makefile directly. -PREFIX=/usr - FLAGS='-Wall -Werror -O3 -flto -fuse-linker-plugin -fomit-frame-pointer -fmerge-all-constants -fvisibility=hidden' FLAGS=$FLAGS' -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables' FLAGS=$FLAGS' -ffunction-sections -fdata-sections -Wl,--gc-sections -fprofile-dir=obj/' @@ -13,8 +11,6 @@ LINFLAGS=' -Wl,-z,relro,-z,now,--as-needed,--hash-style=gnu,--relax' PROFILE=yes -INSTALL=no - for i in "$@"; do case "$i" in --harden=yes) @@ -32,13 +28,6 @@ case "$i" in ;; --harden=no|--profile=yes) ;; - --install=yes) - INSTALL=yes - ;; - --flatpak=yes) - PREFIX=/app - FLAGS=$FLAGS" -DFLATPAK" - ;; *) echo "Unknown argument $1; valid arguments are:" echo "--harden=yes --profile=no --cflags=(...) --lflags=(...) --install=yes --flatpak=yes" @@ -47,15 +36,10 @@ case "$i" in esac done -if [ $INSTALL = yes ]; then - -echo 'GTK+ (install)' -TARGET=gtk make install PREFIX=$PREFIX || exit $? - -elif [ $PROFILE = yes ]; then +if [ $PROFILE = yes ]; then echo 'GTK+ (1/3)' -rm obj/* flips; TARGET=gtk make PREFIX=$PREFIX CFLAGS="$FLAGS$LINFLAGS -fprofile-generate -lgcov" || exit $? +rm obj/* flips; TARGET=gtk make CFLAGS="$FLAGS$LINFLAGS -fprofile-generate -lgcov" || exit $? [ -e flips ] || exit 1 echo 'GTK+ (2/3)' @@ -71,7 +55,7 @@ $TIME ./flips --create --bps-delta profile/firefox-10.0esr.tar profile/f $TIME ./flips --create --bps-delta-moremem profile/firefox-10.0esr.tar profile/firefox-17.0esr.tar /dev/null echo 'GTK+ (3/3)' -rm flips; TARGET=gtk make PREFIX=$PREFIX CFLAGS="$FLAGS$LINFLAGS -fprofile-use" || exit $? +rm flips; TARGET=gtk make CFLAGS="$FLAGS$LINFLAGS -fprofile-use" || exit $? else -rm flips; TARGET=gtk make PREFIX=$PREFIX CFLAGS="$FLAGS$LINFLAGS" || exit $? +rm flips; TARGET=gtk make CFLAGS="$FLAGS$LINFLAGS" || exit $? fi