Kaynağa Gözat

Added gdb debug menu.
Overload warning flag is now enabled by default.

woollybah 9 yıl önce
ebeveyn
işleme
13dbffc441
2 değiştirilmiş dosya ile 30 ekleme ve 6 silme
  1. 2 0
      default.language.ini
  2. 28 6
      maxide.bmx

+ 2 - 0
default.language.ini

@@ -263,6 +263,7 @@ menu_program_stepin                          = "Step &In"
 menu_program_stepout                         = "Step &Out"
 menu_program_stepout                         = "Step &Out"
 menu_program_terminate                       = "&Terminate"
 menu_program_terminate                       = "&Terminate"
 menu_program_buildoptions                    = "Build Options"
 menu_program_buildoptions                    = "Build Options"
+menu_program_buildoptions_dev                = "Developer Options"
 menu_program_buildoptions_quick              = "Quick Build"
 menu_program_buildoptions_quick              = "Quick Build"
 menu_program_buildoptions_debug              = "Debug Build"
 menu_program_buildoptions_debug              = "Debug Build"
 menu_program_buildoptions_threaded           = "Threaded Build"
 menu_program_buildoptions_threaded           = "Threaded Build"
@@ -271,6 +272,7 @@ menu_program_buildoptions_verbose            = "Verbose Build"
 menu_program_buildoptions_quickscan          = "Quick Scan"
 menu_program_buildoptions_quickscan          = "Quick Scan"
 menu_program_buildoptions_universal          = "Universal Build"
 menu_program_buildoptions_universal          = "Universal Build"
 menu_program_buildoptions_warnover           = "Overload Warnings"
 menu_program_buildoptions_warnover           = "Overload Warnings"
+menu_program_buildoptions_gdbdebug           = "GDB Debug Generation"
 menu_program_lockbuildfile                   = "&Lock Build File"
 menu_program_lockbuildfile                   = "&Lock Build File"
 menu_program_unlockbuildfile                 = "&Unlock Build File"
 menu_program_unlockbuildfile                 = "&Unlock Build File"
 menu_program_syncmods                        = "Synchronize Modules..."
 menu_program_syncmods                        = "Synchronize Modules..."

+ 28 - 6
maxide.bmx

@@ -188,6 +188,7 @@ Const MENUVERBOSEENABLED=62
 Const MENUQUICKSCANENABLED=63
 Const MENUQUICKSCANENABLED=63
 Const MENUUNIVERSALENABLED=64
 Const MENUUNIVERSALENABLED=64
 Const MENUWARNOVERENABLED=65
 Const MENUWARNOVERENABLED=65
+Const MENUGDBDEBUGENABLED=66
 
 
 
 
 Const MENUPLATFORM=80
 Const MENUPLATFORM=80
@@ -5139,7 +5140,7 @@ Type TOpenCode Extends TToolPanel
 		Return True
 		Return True
 	End Method
 	End Method
 
 
-	Method BuildSource(quick,debug,threaded,gui,run, verbose, quickscan, universal, warnover, platform:String = Null, architecture:String = Null, appstub:String = Null)
+	Method BuildSource(quick,debug,threaded,gui,run, verbose, quickscan, universal, warnover, gdbdebug, platform:String = Null, architecture:String = Null, appstub:String = Null)
 		Local cmd$,out$,arg$
 		Local cmd$,out$,arg$
 		If isbmx Or isc Or iscpp
 		If isbmx Or isc Or iscpp
 			cmd$=quote(host.bmkpath)
 			cmd$=quote(host.bmkpath)
@@ -5153,6 +5154,7 @@ Type TOpenCode Extends TToolPanel
 			If quickscan cmd :+ " -quick"
 			If quickscan cmd :+ " -quick"
 			If universal cmd :+ " -i"
 			If universal cmd :+ " -i"
 			If warnover cmd :+ " -w"
 			If warnover cmd :+ " -w"
+			If gdbdebug cmd :+ " -gdb"
 			If appstub And appstub <> "brl.appstub" cmd :+ " -b " + appstub
 			If appstub And appstub <> "brl.appstub" cmd :+ " -b " + appstub
 
 
 			If platform cmd :+ " -l " + platform
 			If platform cmd :+ " -l " + platform
@@ -5263,9 +5265,9 @@ Type TOpenCode Extends TToolPanel
 			Case TOOLREPLACE
 			Case TOOLREPLACE
 				Return FindReplace(String(argument))	
 				Return FindReplace(String(argument))	
 			Case TOOLBUILD
 			Case TOOLBUILD
-				BuildSource host.quickenabled,host.debugenabled,host.threadedenabled,host.guienabled,False, host.verboseenabled, host.quickscanenabled, host.universalenabled, host.warnoverenabled, host.GetPlatform(), host.GetArchitecture(), host.selectedappstub
+				BuildSource host.quickenabled,host.debugenabled,host.threadedenabled,host.guienabled,False, host.verboseenabled, host.quickscanenabled, host.universalenabled, host.warnoverenabled, host.gdbdebugenabled, host.GetPlatform(), host.GetArchitecture(), host.selectedappstub
 			Case TOOLRUN
 			Case TOOLRUN
-				BuildSource host.quickenabled,host.debugenabled,host.threadedenabled,host.guienabled,True, host.verboseenabled, host.quickscanenabled, host.universalenabled, host.warnoverenabled, host.GetPlatform(), host.GetArchitecture(), host.selectedappstub
+				BuildSource host.quickenabled,host.debugenabled,host.threadedenabled,host.guienabled,True, host.verboseenabled, host.quickscanenabled, host.universalenabled, host.warnoverenabled, host.gdbdebugenabled, host.GetPlatform(), host.GetArchitecture(), host.selectedappstub
 			Case TOOLLOCK
 			Case TOOLLOCK
 				SetLocked True
 				SetLocked True
 			Case TOOLUNLOCK
 			Case TOOLUNLOCK
@@ -5463,6 +5465,7 @@ Type TCodePlay
 	Field quickscanenable:TGadget,quickscanenabled		'menu,state
 	Field quickscanenable:TGadget,quickscanenabled		'menu,state
 	Field universalenable:TGadget,universalenabled		'menu,state
 	Field universalenable:TGadget,universalenabled		'menu,state
 	Field warnoverenable:TGadget,warnoverenabled		'menu,state
 	Field warnoverenable:TGadget,warnoverenabled		'menu,state
+	Field gdbdebugenable:TGadget,gdbdebugenabled		'menu,state
 	Field quickhelp:TQuickHelp
 	Field quickhelp:TQuickHelp
 	Field running
 	Field running
 	Field recentmenu:TGadget
 	Field recentmenu:TGadget
@@ -5619,7 +5622,8 @@ Type TCodePlay
 		verboseenabled=False
 		verboseenabled=False
 		quickscanenabled=True
 		quickscanenabled=True
 		universalenabled=False
 		universalenabled=False
-		warnoverenabled=False
+		warnoverenabled=True
+		gdbdebugenabled=False
 		For Local i:Int = 0 Until platformenabled.length
 		For Local i:Int = 0 Until platformenabled.length
 			platformenabled[i] = False
 			platformenabled[i] = False
 		Next
 		Next
@@ -5683,6 +5687,8 @@ Type TCodePlay
 					universalenabled=Int(b$)
 					universalenabled=Int(b$)
 				Case "prg_warnover"
 				Case "prg_warnover"
 					warnoverenabled=Int(b$)
 					warnoverenabled=Int(b$)
+				Case "prg_gdbdebug"
+					gdbdebugenabled=Int(b$)
 				Case "prg_platform"
 				Case "prg_platform"
 					For Local i:Int = 0 Until platformenabled.length
 					For Local i:Int = 0 Until platformenabled.length
 						platformenabled[i] = False
 						platformenabled[i] = False
@@ -5744,6 +5750,7 @@ Type TCodePlay
 		stream.WriteLine "prg_quickscan="+quickscanenabled
 		stream.WriteLine "prg_quickscan="+quickscanenabled
 		stream.WriteLine "prg_universal="+universalenabled
 		stream.WriteLine "prg_universal="+universalenabled
 		stream.WriteLine "prg_warnover="+warnoverenabled
 		stream.WriteLine "prg_warnover="+warnoverenabled
+		stream.WriteLine "prg_gdbdebug="+gdbdebugenabled
 		For Local i:Int = 0 Until platformenabled.length
 		For Local i:Int = 0 Until platformenabled.length
 			If platformenabled[i] Then
 			If platformenabled[i] Then
 				stream.WriteLine "prg_platform=" + i
 				stream.WriteLine "prg_platform=" + i
@@ -5989,6 +5996,7 @@ Type TCodePlay
 		If quickscanenabled cmd:+"-quick "
 		If quickscanenabled cmd:+"-quick "
 		If universalenabled cmd:+"-i "
 		If universalenabled cmd:+"-i "
 		If warnoverenabled cmd:+"-w "
 		If warnoverenabled cmd:+"-w "
+		If gdbdebugenabled cmd:+"-gdb "
 		Local platform:String = GetPlatform()
 		Local platform:String = GetPlatform()
 		Local architecture:String = GetArchitecture()
 		Local architecture:String = GetArchitecture()
 		If platform cmd :+ "-l " + platform + " "
 		If platform cmd :+ "-l " + platform + " "
@@ -6439,7 +6447,7 @@ Type TCodePlay
 
 
 	Method InitMenu()
 	Method InitMenu()
 		Local menu:TGadget,file:TGadget,edit:TGadget,program:TGadget,tools:TGadget
 		Local menu:TGadget,file:TGadget,edit:TGadget,program:TGadget,tools:TGadget
-		Local help:TGadget,buildoptions:TGadget
+		Local help:TGadget,buildoptions:TGadget,devoptions:TGadget
 		Local buildmods:TGadget,buildallmods:TGadget,syncmods:TGadget,docmods:TGadget
 		Local buildmods:TGadget,buildallmods:TGadget,syncmods:TGadget,docmods:TGadget
 		Local platform:TGadget,architecture:TGadget
 		Local platform:TGadget,architecture:TGadget
 
 
@@ -6536,12 +6544,15 @@ Type TCodePlay
 				threadedenable=CreateMenu("{{menu_program_buildoptions_threaded}}",MENUTHREADEDENABLED,buildoptions)
 				threadedenable=CreateMenu("{{menu_program_buildoptions_threaded}}",MENUTHREADEDENABLED,buildoptions)
 		EndIf
 		EndIf
 		guienable=CreateMenu("{{menu_program_buildoptions_guiapp}}",MENUGUIENABLED,buildoptions)
 		guienable=CreateMenu("{{menu_program_buildoptions_guiapp}}",MENUGUIENABLED,buildoptions)
-		verboseenable=CreateMenu("{{menu_program_buildoptions_verbose}}",MENUVERBOSEENABLED,buildoptions)
 		quickscanenable=CreateMenu("{{menu_program_buildoptions_quickscan}}",MENUQUICKSCANENABLED,buildoptions)
 		quickscanenable=CreateMenu("{{menu_program_buildoptions_quickscan}}",MENUQUICKSCANENABLED,buildoptions)
 ?macos
 ?macos
 		universalenable=CreateMenu("{{menu_program_buildoptions_universal}}",MENUUNIVERSALENABLED,buildoptions)
 		universalenable=CreateMenu("{{menu_program_buildoptions_universal}}",MENUUNIVERSALENABLED,buildoptions)
 ?
 ?
 		warnoverenable=CreateMenu("{{menu_program_buildoptions_warnover}}",MENUWARNOVERENABLED,buildoptions)
 		warnoverenable=CreateMenu("{{menu_program_buildoptions_warnover}}",MENUWARNOVERENABLED,buildoptions)
+		devoptions=CreateMenu("{{menu_program_buildoptions_dev}}",0,buildoptions)
+		verboseenable=CreateMenu("{{menu_program_buildoptions_verbose}}",MENUVERBOSEENABLED,devoptions)
+		gdbdebugenable=CreateMenu("{{menu_program_buildoptions_gdbdebug}}",MENUGDBDEBUGENABLED,devoptions)
+
 		platform=CreateMenu("{{menu_program_platform}}",0,program)
 		platform=CreateMenu("{{menu_program_platform}}",0,program)
 ?Not raspberrypi
 ?Not raspberrypi
 		win32enable=CreateMenu("{{menu_program_platform_win32}}",MENUWIN32ENABLED,platform)
 		win32enable=CreateMenu("{{menu_program_platform_win32}}",MENUWIN32ENABLED,platform)
@@ -6597,6 +6608,7 @@ Type TCodePlay
 		If quickscanenabled CheckMenu quickscanenable
 		If quickscanenabled CheckMenu quickscanenable
 		If universalenabled CheckMenu universalenable
 		If universalenabled CheckMenu universalenable
 		If warnoverenabled CheckMenu warnoverenable
 		If warnoverenabled CheckMenu warnoverenable
+		If gdbdebugenabled CheckMenu gdbdebugenable
 
 
 		Local defaultArch:Int = -1
 		Local defaultArch:Int = -1
 		For Local i:Int = 0 Until architectureenabled.length
 		For Local i:Int = 0 Until architectureenabled.length
@@ -6871,6 +6883,16 @@ Type TCodePlay
 				EndIf
 				EndIf
 				UpdateWindowMenu window
 				UpdateWindowMenu window
 
 
+			Case MENUGDBDEBUGENABLED
+				If gdbdebugenabled
+					gdbdebugenabled=False
+					UncheckMenu gdbdebugenable							
+				Else
+					gdbdebugenabled=True
+					CheckMenu gdbdebugenable
+				EndIf
+				UpdateWindowMenu window
+
 			Case MENUWIN32ENABLED, MENULINUXENABLED, MENUMACOSXENABLED, MENURASPBERRYPIENABLED, ..
 			Case MENUWIN32ENABLED, MENULINUXENABLED, MENUMACOSXENABLED, MENURASPBERRYPIENABLED, ..
 					MENUANDROIDENABLED, MENUEMSCRIPTENENABLED, MENUIOSENABLED
 					MENUANDROIDENABLED, MENUEMSCRIPTENENABLED, MENUIOSENABLED