changeset 360:83381672a010

Win: Changes to preserve libraries built for other architectures and package them in the installer. (x86/x64) This allows the DWIB Installer on Windows to include the header and libraries for both supported platforms. Also bump version to beta 5.
author Brian Smith <brian@dbsoft.org>
date Thu, 23 Jun 2022 02:34:07 -0500
parents 1697ef41d1c5
children 833d2f2a2b6d
files install/dwib-x64.nsi install/dwib-x86.nsi install/dwib.cfg install/dwib.wis makefile.vc
diffstat 5 files changed, 88 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/install/dwib-x64.nsi	Sat Jan 15 18:05:24 2022 -0600
+++ b/install/dwib-x64.nsi	Thu Jun 23 02:34:07 2022 -0500
@@ -29,7 +29,7 @@
 
   ; Name and file
   Name "Dynamic Windows Interface Builder"
-  OutFile "dwib10b4win64.exe"
+  OutFile "dwib10b5win64.exe"
 
   ; Default installation folder
   InstallDir "$PROGRAMFILES64\DWIB"
@@ -80,26 +80,31 @@
 Section "Dummy Section" SecDummy
 
   SetOutPath "$INSTDIR"
-  
+
   ; Binaries
   File dwib.exe
   File *.dll
+  ; Developer Header
+  File dwib.h
+  ; Developer Libraries
+  File /r x86
+  File /r x64
   ; Help
   File readme.txt
-    
+
   ; Store installation folder
   WriteRegStr HKCU "Software\DWIB" "" $INSTDIR
-  
+
   ; Create uninstaller
   WriteUninstaller "$INSTDIR\Uninstall.exe"
-  
+
   !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-    
+
     ; Create shortcuts
     CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
     CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Dynamic Windows Interface Builder.lnk" "$INSTDIR\dwib.exe"
     CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
-    
+
     ; Create Uninstall infor 
     WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DWIB" \
                      "DisplayName" "Dynamic Windows Interface Builder"
@@ -127,12 +132,22 @@
 
   ; Binaries
   Delete "$INSTDIR\dwib.exe"
-  Delete "$INSTDIR\dw.dll"
+  Delete "$INSTDIR\*.dll"
+  ; Developer Header
+  Delete "$INSTDIR\dwib.h"
+  ; Developer Libraries
+  Delete "$INSTDIR\x86\dwib.dll"
+  Delete "$INSTDIR\x86\dwib.lib"
+  Delete "$INSTDIR\x64\dwib.dll"
+  Delete "$INSTDIR\x64\dwib.lib"
   ; Help
   Delete "$INSTDIR\readme.txt"
 
   Delete "$INSTDIR\Uninstall.exe"
 
+  ; Directories
+  RMDir "$INSTDIR\x86"
+  RMDir "$INSTDIR\x64"
   RMDir "$INSTDIR"
   
   !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
--- a/install/dwib-x86.nsi	Sat Jan 15 18:05:24 2022 -0600
+++ b/install/dwib-x86.nsi	Thu Jun 23 02:34:07 2022 -0500
@@ -10,7 +10,7 @@
 
   ; Name and file
   Name "Dynamic Windows Interface Builder"
-  OutFile "dwib10b4win.exe"
+  OutFile "dwib10b5win.exe"
 
   ; Default installation folder
   InstallDir "$PROGRAMFILES\DWIB"
@@ -61,26 +61,31 @@
 Section "Dummy Section" SecDummy
 
   SetOutPath "$INSTDIR"
-  
+
   ; Binaries
   File dwib.exe
   File *.dll
+  ; Developer Header
+  File dwib.h
+  ; Developer Libraries
+  File /r x86
+  File /r x64
   ; Help
   File readme.txt
-    
+
   ; Store installation folder
   WriteRegStr HKCU "Software\DWIB" "" $INSTDIR
-  
+
   ; Create uninstaller
   WriteUninstaller "$INSTDIR\Uninstall.exe"
-  
+
   !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-    
+
     ; Create shortcuts
     CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
     CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Dynamic Windows Interface Builder.lnk" "$INSTDIR\dwib.exe"
     CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
-    
+
     ; Create Uninstall infor 
     WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DWIB" \
                      "DisplayName" "Dynamic Windows Interface Builder"
@@ -108,12 +113,22 @@
 
   ; Binaries
   Delete "$INSTDIR\dwib.exe"
-  Delete "$INSTDIR\dw.dll"
+  Delete "$INSTDIR\*.dll"
+  ; Developer Header
+  Delete "$INSTDIR\dwib.h"
+  ; Developer Libraries
+  Delete "$INSTDIR\x86\dwib.dll"
+  Delete "$INSTDIR\x86\dwib.lib"
+  Delete "$INSTDIR\x64\dwib.dll"
+  Delete "$INSTDIR\x64\dwib.lib"
   ; Help
   Delete "$INSTDIR\readme.txt"
 
   Delete "$INSTDIR\Uninstall.exe"
 
+  ; Directories
+  RMDir "$INSTDIR\x86"
+  RMDir "$INSTDIR\x64"
   RMDir "$INSTDIR"
   
   !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
--- a/install/dwib.cfg	Sat Jan 15 18:05:24 2022 -0600
+++ b/install/dwib.cfg	Thu Jun 23 02:34:07 2022 -0500
@@ -4,7 +4,7 @@
 #
 # Version of the application being installed 
 #
-INSTALLER_VERSION=1.0b4
+INSTALLER_VERSION=1.0b5
 #
 # What the installer says in the title bar 
 #
--- a/install/dwib.wis	Sat Jan 15 18:05:24 2022 -0600
+++ b/install/dwib.wis	Thu Jun 23 02:34:07 2022 -0500
@@ -1,10 +1,10 @@
 <WARPIN>
 <HEAD>
 <PCK INDEX="1"
-      PACKAGEID="Brian Smith\DWIB\Base package\1\0\4"
+      PACKAGEID="Brian Smith\DWIB\Base package\1\0\5"
       TARGET="?:\Programs\DWIB"
       SELECT
-      TITLE="Dynamic Windows Interface Builder 1.0b4"
+      TITLE="Dynamic Windows Interface Builder 1.0b5"
       CREATEOBJECT="WPProgram|Dynamic Windows Interface Builder|<WP_DESKTOP>|EXENAME=$(1)\DWIB.EXE;OBJECTID=<DWIB>;"
       >Create User Interfaces for Dynamic Windows applications stored in XML.</PCK>
 </HEAD>
--- a/makefile.vc	Sat Jan 15 18:05:24 2022 -0600
+++ b/makefile.vc	Thu Jun 23 02:34:07 2022 -0500
@@ -83,30 +83,42 @@
 
 clean:
 	-erase *.dll
-        -erase *.exe
-        -erase *.opt
-        -erase *.lib
-        -erase *.obj
-        -erase *.map
-        -erase *.pdb
-        -erase *.ilk
-        -erase *.exp
-        -erase win\*.res
-        -erase *~
-        
+	-erase *.exe
+	-erase *.opt
+	-erase *.lib
+	-erase *.obj
+	-erase *.map
+	-erase *.pdb
+	-erase *.ilk
+	-erase *.exp
+	-erase win\*.res
+	-erase *~
+
+distclean: clean
+	-rd /s /q install\package
+	-rd /s /q x86
+	-rd /s /q x64
+
 # Create a zip file for use with Nullsoft's Install system
 # Requires NSIS and makensis to be in the PATH     
 installer:
-    -rd /s /q install\package
-    md install\package
-    copy dwib.exe install\package
-    copy $(DWINCDIR)\dw.dll install\package
-    copy readme.txt install\package
-    copy install\scripts\license.txt install\package
-    cd install\package
-    copy ..\dwib-$(TARGET_CPU).nsi dwib.nsi
-    makensis dwib.nsi
-    move dwib*win*.exe ..
+	-rd /s /q install\package
+	md install\package
+	copy dwib.exe install\package
+	copy $(DWINCDIR)\dw.dll install\package
+	copy readme.txt install\package
+	copy install\scripts\license.txt install\package
+	copy dwib.h install\package
+	md install\package\x86
+	-copy x86\dwib.dll install\package\x86
+	-copy x86\dwib.lib install\package\x86
+	md install\package\x64
+	-copy x64\dwib.dll install\package\x64
+	-copy x64\dwib.lib install\package\x64
+	cd install\package
+	copy ..\dwib-$(TARGET_CPU).nsi dwib.nsi
+	makensis dwib.nsi
+	move dwib*win*.exe ..
 
 dwib.res: win\dwib.rc
 	rc -r win\dwib.rc
@@ -120,7 +132,7 @@
 win\dwib.res
 <<
 	mt.exe -manifest dwib.exe.manifest win\dwib.exe.$(TARGET_CPU).manifest -outputresource:dwib.exe;1
- 
+
 dwib.dll: $(LIBOBJS) $(DEFFILE)
 	$(LINK) @<<
 -out:$(@) -def:$(DEFFILE)
@@ -130,7 +142,10 @@
 <<
 	$(WLIB) -def:$(DEFFILE) -machine:$(TARGET_CPU) -out:dwib.lib
 	mt.exe -manifest dwib.dll.manifest win\dwib.dll.$(TARGET_CPU).manifest -outputresource:dwib.dll;2
- 
+	-md $(TARGET_CPU)
+	-copy dwib.dll $(TARGET_CPU)
+	-copy dwib.lib $(TARGET_CPU)
+
 example.exe: example.obj
 	$(LINK) @<<
 -out:$(@) -subsystem:windows
@@ -140,6 +155,6 @@
 
 <<
 	mt.exe -manifest example.exe.manifest win\example.exe.$(TARGET_CPU).manifest -outputresource:example.exe;1
- 
+
 .c.obj:
 	$(CC) $(CFLAGS) $(CFLAGS_DEBUG) $(CFLAGS_COMPILE) $*.c