From b110e816c7bbb471c5dc94acc0a5626a72d36a05 Mon Sep 17 00:00:00 2001 From: Matthew Kilgore Date: Sun, 15 May 2022 16:56:37 -0400 Subject: [PATCH 01/11] Add error handling to setup_win.bat --- setup_win.bat | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/setup_win.bat b/setup_win.bat index a99ef045a..d325d556c 100644 --- a/setup_win.bat +++ b/setup_win.bat @@ -20,7 +20,7 @@ echo Extracting %MINGW% as C++ Compiler :skipccompsetup internal\c\c_compiler\bin\mingw32-make.exe OS=win clean -internal\c\c_compiler\bin\mingw32-make.exe OS=win BUILD_QB64=y +internal\c\c_compiler\bin\mingw32-make.exe OS=win BUILD_QB64=y || goto report_error echo. echo Launching 'QB64' @@ -28,3 +28,10 @@ qb64 echo. pause + +exit 0 + +report_error: +echo "Error compiling QB64." +echo "Please review above steps and report to https://github.com/QB64-Phoenix-Edition/QB64pe/issues if you can't get it to work" +exit 1 From b5ea3a081d60a5e95ff4340a0f104249ddf78c1d Mon Sep 17 00:00:00 2001 From: Matthew Kilgore Date: Sun, 15 May 2022 17:12:17 -0400 Subject: [PATCH 02/11] Fix BUILD_QB64=y usage on Windows BUILD_QB64=y sets the default EXE name to 'qb64', which is actually wrong on Windows because it does not include the `.exe` extention. It also works anyway but `objcopy` doesn't recognize the file without the extension present. --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index be3386c66..b700b7ec4 100644 --- a/Makefile +++ b/Makefile @@ -84,7 +84,11 @@ else endif ifdef BUILD_QB64 - EXE ?= qb64 + ifeq ($(OS),win) + EXE ?= qb64.exe + else + EXE ?= qb64 + endif else ifneq ($(filter clean,$(MAKECMDGOALS)),) From 790129dcefd00d78a95f38b31c0b0d00cfdf505a Mon Sep 17 00:00:00 2001 From: Matthew Kilgore Date: Sun, 15 May 2022 17:13:08 -0400 Subject: [PATCH 03/11] Skip the symbol stripping on OSX The `objcopy` logic to produce a symbol file doesn't work on OSX, and it seems it needs different lgoic to produce debug information, so for now we're just going to skip it. --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index b700b7ec4..2ddbf2526 100644 --- a/Makefile +++ b/Makefile @@ -345,6 +345,8 @@ clean: $(EXE): $(EXE_OBJS) $(EXE_LIBS) $(CXX) $(CXXFLAGS) $(EXE_OBJS) -o $@ $(EXE_LIBS) $(CXXLIBS) +ifneq ($(filter-out osx,$(OS)),) $(OBJCOPY) --only-keep-debug $@ $(PATH_INTERNAL_TEMP)/$@.sym $(OBJCOPY) --strip-unneeded $@ +endif From 774a391969f4a18eac70c17aced2399d5c17e1db Mon Sep 17 00:00:00 2001 From: Matthew Kilgore Date: Sun, 15 May 2022 17:47:58 -0400 Subject: [PATCH 04/11] Silence clean when running setup_win.bat --- setup_win.bat | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup_win.bat b/setup_win.bat index d325d556c..7480afb68 100644 --- a/setup_win.bat +++ b/setup_win.bat @@ -19,7 +19,10 @@ echo Extracting %MINGW% as C++ Compiler :skipccompsetup -internal\c\c_compiler\bin\mingw32-make.exe OS=win clean +echo "Cleaning..." +internal\c\c_compiler\bin\mingw32-make.exe OS=win clean >NUL + +echo "Building QB64..." internal\c\c_compiler\bin\mingw32-make.exe OS=win BUILD_QB64=y || goto report_error echo. From bac798bc176edb37c2b7e2eca63672ee9c198b59 Mon Sep 17 00:00:00 2001 From: Matthew Kilgore Date: Mon, 16 May 2022 00:16:02 -0400 Subject: [PATCH 05/11] Remove quotes --- setup_win.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup_win.bat b/setup_win.bat index 7480afb68..fd8804804 100644 --- a/setup_win.bat +++ b/setup_win.bat @@ -19,10 +19,10 @@ echo Extracting %MINGW% as C++ Compiler :skipccompsetup -echo "Cleaning..." +echo Cleaning... internal\c\c_compiler\bin\mingw32-make.exe OS=win clean >NUL -echo "Building QB64..." +echo Building QB64... internal\c\c_compiler\bin\mingw32-make.exe OS=win BUILD_QB64=y || goto report_error echo. From 6adac0842ec9a0230edbc9429189a42a6e7b0163 Mon Sep 17 00:00:00 2001 From: Matthew Kilgore Date: Mon, 16 May 2022 00:16:18 -0400 Subject: [PATCH 06/11] Remove unnecessary else logic from Makefile --- Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 2ddbf2526..03602cc27 100644 --- a/Makefile +++ b/Makefile @@ -89,7 +89,7 @@ ifdef BUILD_QB64 else EXE ?= qb64 endif -else +endif ifneq ($(filter clean,$(MAKECMDGOALS)),) # We have to define this for the Makefile to work, @@ -101,8 +101,6 @@ ifndef EXE $(error Please provide executable name as 'EXE=executable') endif -endif - all: $(EXE) CLEAN_LIST := From bc4b9a0a2411fdacc051f35af89b19acb443dc88 Mon Sep 17 00:00:00 2001 From: Matthew Kilgore Date: Mon, 16 May 2022 01:58:22 -0400 Subject: [PATCH 07/11] Also silence errors from clean in setup_win.bat Missing files during the clean get reported on stderr. These are expected so we're just ignoring them. Functionally it's the compilation step that matters anyway. --- setup_win.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_win.bat b/setup_win.bat index fd8804804..3b5339df0 100644 --- a/setup_win.bat +++ b/setup_win.bat @@ -20,7 +20,7 @@ echo Extracting %MINGW% as C++ Compiler :skipccompsetup echo Cleaning... -internal\c\c_compiler\bin\mingw32-make.exe OS=win clean >NUL +internal\c\c_compiler\bin\mingw32-make.exe OS=win clean >NUL 2>NUL echo Building QB64... internal\c\c_compiler\bin\mingw32-make.exe OS=win BUILD_QB64=y || goto report_error From acbeca81b9146a09b89ea1b7935fc7ba2d4cd64f Mon Sep 17 00:00:00 2001 From: SteveMcNeill Date: Mon, 16 May 2022 07:55:08 -0400 Subject: [PATCH 08/11] Fix to _desktopwidth, _desktopheight, _screenicon Fixes the issue as brought up on the forums here: https://qb64phoenix.com/forum/showthread.php?tid=408 Also added a small set of logic so we don't end up inside an endless loop if the screen is hidden (via _SCREENHIDE), or if it doesn't exist for whatever reason. --- internal/c/libqb.cpp | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/internal/c/libqb.cpp b/internal/c/libqb.cpp index 1e1347074..7839f9f04 100644 --- a/internal/c/libqb.cpp +++ b/internal/c/libqb.cpp @@ -27356,13 +27356,19 @@ void sub__icon(int32 handle_icon, int32 handle_window_icon, int32 passed) { int32 func_screenwidth() { #ifdef QB64_GLUT - while (!window_exists) { - Sleep(100); - } + //while (!window_exists) { + // Sleep(100); //endless loop which is completely unneeded here. + //} //we can get the desktop's width and height without there needing to be an active screen (such as $SCREENHIDE) + # ifdef QB64_WINDOWS - while (!window_handle) { + + int32 waited_enough = 20; + + while (!window_handle&&waited_enough>0) { Sleep(100); + waited_enough = waited_enough - 1; } + if (waited_enough == 0) return 0; //if the screen isn't created and doesn't have a handle after two seconds, then return a value of 0. Don't run an endless loop! # endif return glutGet(GLUT_SCREEN_WIDTH); #else @@ -27376,13 +27382,19 @@ int32 func_screenwidth() { int32 func_screenheight() { #ifdef QB64_GLUT - while (!window_exists) { - Sleep(100); - } + //while (!window_exists) { + // Sleep(100); //same comments as above -- endless loopfor unneeded window handle check here. + //} # ifdef QB64_WINDOWS - while (!window_handle) { + + int32 waited_enough = 20; + + while (!window_handle && waited_enough > 0) { Sleep(100); + waited_enough = waited_enough - 1; } + if (waited_enough == 0) + return 0; // if the screen isn't created and doesn't have a handle after two seconds, then return a value of 0. Don't run an endless loop! # endif return glutGet(GLUT_SCREEN_HEIGHT); #else @@ -27396,14 +27408,21 @@ int32 func_screenheight() { void sub_screenicon() { #ifdef QB64_GLUT - while (!window_exists) { + int32 waited_enough = 20; + + while (!window_exists&&waited_enough>0) { Sleep(100); + waited_enough = waited_enough - 1; //don't make this an endless loop. Give it an exit condition for some sort after a few seconds! } # ifdef QB64_WINDOWS - while (!window_handle) { + + while (!window_handle && waited_enough > 0) { Sleep(100); + waited_enough = waited_enough - 1; //same here. Endless loops are a bad no-no! } # endif + if (waited_enough == 0) + return; // if the screen isn't created and doesn't have a handle after two seconds, then just return and don't try to minimize the window. glutIconifyWindow(); return; #endif From 8574c1f921f8d22c764e41b90d0c51f029c8d060 Mon Sep 17 00:00:00 2001 From: SteveMcNeill Date: Mon, 16 May 2022 11:37:58 -0400 Subject: [PATCH 09/11] Change to _screenwidth and _screenheight Having windows call GetSystemMetrics without relying on glutGet, gets rid of the seg fault that can occur at program start up. screenicon was restored to it's previous state so that larger issues with it can be addressed at a future date. --- internal/c/libqb.cpp | 54 ++++++++------------------------------------ 1 file changed, 10 insertions(+), 44 deletions(-) diff --git a/internal/c/libqb.cpp b/internal/c/libqb.cpp index 7839f9f04..c19823840 100644 --- a/internal/c/libqb.cpp +++ b/internal/c/libqb.cpp @@ -27355,25 +27355,11 @@ void sub__icon(int32 handle_icon, int32 handle_window_icon, int32 passed) { #endif // DEPENDENCY_ICON int32 func_screenwidth() { -#ifdef QB64_GLUT - //while (!window_exists) { - // Sleep(100); //endless loop which is completely unneeded here. - //} //we can get the desktop's width and height without there needing to be an active screen (such as $SCREENHIDE) - -# ifdef QB64_WINDOWS - - int32 waited_enough = 20; - - while (!window_handle&&waited_enough>0) { - Sleep(100); - waited_enough = waited_enough - 1; - } - if (waited_enough == 0) return 0; //if the screen isn't created and doesn't have a handle after two seconds, then return a value of 0. Don't run an endless loop! -# endif - return glutGet(GLUT_SCREEN_WIDTH); -#else -# ifdef QB64_WINDOWS +#ifdef QB64_WINDOWS return GetSystemMetrics(0); +#else +# ifdef QB64_GLUT + return glutGet(GLUT_SCREEN_WIDTH); # else return 0; # endif @@ -27381,25 +27367,11 @@ int32 func_screenwidth() { } int32 func_screenheight() { -#ifdef QB64_GLUT - //while (!window_exists) { - // Sleep(100); //same comments as above -- endless loopfor unneeded window handle check here. - //} -# ifdef QB64_WINDOWS - - int32 waited_enough = 20; - - while (!window_handle && waited_enough > 0) { - Sleep(100); - waited_enough = waited_enough - 1; - } - if (waited_enough == 0) - return 0; // if the screen isn't created and doesn't have a handle after two seconds, then return a value of 0. Don't run an endless loop! -# endif - return glutGet(GLUT_SCREEN_HEIGHT); -#else -# ifdef QB64_WINDOWS +#ifdef QB64_WINDOWS return GetSystemMetrics(1); +#else +# ifdef QB64_GLUT + return glutGet(GLUT_SCREEN_HEIGHT); # else return 0; # endif @@ -27408,21 +27380,15 @@ int32 func_screenheight() { void sub_screenicon() { #ifdef QB64_GLUT - int32 waited_enough = 20; - - while (!window_exists&&waited_enough>0) { + while (!window_exists) { Sleep(100); - waited_enough = waited_enough - 1; //don't make this an endless loop. Give it an exit condition for some sort after a few seconds! } # ifdef QB64_WINDOWS - while (!window_handle && waited_enough > 0) { + while (!window_handle) { Sleep(100); - waited_enough = waited_enough - 1; //same here. Endless loops are a bad no-no! } # endif - if (waited_enough == 0) - return; // if the screen isn't created and doesn't have a handle after two seconds, then just return and don't try to minimize the window. glutIconifyWindow(); return; #endif From ecfa18a109e963f759cf4cc311a518c197c22efe Mon Sep 17 00:00:00 2001 From: SteveMcNeill Date: Tue, 17 May 2022 05:04:41 -0400 Subject: [PATCH 10/11] change numerics to more descriptive constants --- internal/c/libqb.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/c/libqb.cpp b/internal/c/libqb.cpp index c19823840..5d37b4b32 100644 --- a/internal/c/libqb.cpp +++ b/internal/c/libqb.cpp @@ -27356,7 +27356,7 @@ void sub__icon(int32 handle_icon, int32 handle_window_icon, int32 passed) { int32 func_screenwidth() { #ifdef QB64_WINDOWS - return GetSystemMetrics(0); + return GetSystemMetrics(SM_CXSCREEN); #else # ifdef QB64_GLUT return glutGet(GLUT_SCREEN_WIDTH); @@ -27368,7 +27368,7 @@ int32 func_screenwidth() { int32 func_screenheight() { #ifdef QB64_WINDOWS - return GetSystemMetrics(1); + return GetSystemMetrics(SM_CYSCREEN); #else # ifdef QB64_GLUT return glutGet(GLUT_SCREEN_HEIGHT); From b44bd54db92b50786e314c7614c9573c4bb536de Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 May 2022 11:59:50 +0000 Subject: [PATCH 11/11] Automatic update of ./internal/source --- internal/source/qb64.sym | Bin 626528 -> 626528 bytes internal/source/qb64_bootstrap.sym | Bin 626528 -> 626528 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/internal/source/qb64.sym b/internal/source/qb64.sym index 0891d4f5354206078afe5c1334646874d82fdf41..32f592814e63b0cb8f76f6c5f08c0e132faf9a63 100755 GIT binary patch delta 26979 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 diff --git a/internal/source/qb64_bootstrap.sym b/internal/source/qb64_bootstrap.sym index 0891d4f5354206078afe5c1334646874d82fdf41..32f592814e63b0cb8f76f6c5f08c0e132faf9a63 100755 GIT binary patch delta 26979 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