From 1e44ec84bd90ec9078027d1d9d78e83c7d305f2a Mon Sep 17 00:00:00 2001 From: BlueWall Date: Tue, 31 Aug 2010 17:02:36 -0400 Subject: Build system upgrade: Upgrading Prebuild.exe to correctly construct build solutions for crossplatform tools such as xbuild, monodevelop and nant. NOTE: Module prebuild files will need modification to work, as the prebuild must correctly define the reference path for all assemblies shipped in the OpenSimulator ./bin directory. These include assemblies such as XMLRPC.dll, OpenMetaverse.dll, Nini.dll, etc. . The entries should follow the form: See the distributed prebuild.xml for further examples. Crossplatform tools: xbuild and monodevelop use the vs2008 OpenSim.sln and the .csproj files in each namespace. Changes to the Prebuild.exe are against svn 322 and are included in a patch attached to the mantis. And the dnpb source are available@ svn co https://dnpb.svn.sourceforge.net/svnroot/dnpb dnpb The patches are pending application by the dnpb team. After which, the un-modified upstream Prebuild.exe will work as expected. --- Prebuild/scripts/Prebuild.nsi | 231 ------------------------------------------ 1 file changed, 231 deletions(-) delete mode 100644 Prebuild/scripts/Prebuild.nsi (limited to 'Prebuild/scripts/Prebuild.nsi') diff --git a/Prebuild/scripts/Prebuild.nsi b/Prebuild/scripts/Prebuild.nsi deleted file mode 100644 index 8f9854e..0000000 --- a/Prebuild/scripts/Prebuild.nsi +++ /dev/null @@ -1,231 +0,0 @@ -!verbose 3 - -!define PRODUCT_NAME "Prebuild" -!define PRODUCT_VERSION "1.3.1" -!define PRODUCT_PUBLISHER "Prebuild" -!define PRODUCT_PACKAGE "prebuild" -!define PRODUCT_WEB_SITE "http://dnpb.sourceforge.net" -!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Prebuild" -!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\Prebuild" -!define PRODUCT_UNINST_ROOT_KEY "HKLM" -!define PRODUCT_PATH ".." - -;!define MUI_WELCOMEFINISHPAGE_BITMAP "PrebuildLogo.bmp" -;!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH -;!define MUI_UNWELCOMEFINISHPAGE_BITMAP "PrebuildLogo.bmp" -;!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH - -BrandingText "© 2003-2006 David Hudson, http://dnpb.sourceforge.net/" -SetCompressor lzma -CRCCheck on - -; File Association defines -;!include "fileassoc.nsh" - -; MUI 1.67 compatible ------ -!include "MUI.nsh" - -; MUI Settings -!define MUI_ABORTWARNING -!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" -!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" - -;-------------------------------- -;Variables - -;-------------------------------- -;Installer Pages - -; Welcome page -!insertmacro MUI_PAGE_WELCOME -; License page -!insertmacro MUI_PAGE_LICENSE "..\doc\license.txt" -; Directory page -!insertmacro MUI_PAGE_DIRECTORY - -; Instfiles page -!insertmacro MUI_PAGE_INSTFILES - -; Finish page -!insertmacro MUI_PAGE_FINISH - -;------------------------------------ -; Uninstaller pages -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES -!insertmacro MUI_UNPAGE_FINISH -;------------------------------------ - -; Language files -!insertmacro MUI_LANGUAGE "English" - -; Reserve files -!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS - -; MUI end ------ - -Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "..\${PRODUCT_PACKAGE}-${PRODUCT_VERSION}-setup.exe" -InstallDir "$PROGRAMFILES\Prebuild" -InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" -ShowInstDetails show -ShowUnInstDetails show - -; .NET Framework check -; http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dnnetdep/html/redistdeploy1_1.asp -; Section "Detecting that the .NET Framework 1.1 is installed" -Function .onInit - ReadRegDWORD $R0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322" Install - StrCmp $R0 "" 0 CheckPreviousVersion - MessageBox MB_OK "Microsoft .NET Framework 1.1 was not found on this system.$\r$\n$\r$\nUnable to continue this installation." - Abort - - CheckPreviousVersion: - ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" - StrCmp $R0 "" CheckOSVersion 0 - MessageBox MB_OK "An old version of Prebuild is installed on this computer, please uninstall first.$\r$\n$\r$\nUnable to continue this installation." - Abort - - CheckOSVersion: - Call IsSupportedWindowsVersion - Pop $R0 - StrCmp $R0 "False" NoAbort 0 - MessageBox MB_OK "The operating system you are using is not supported by Prebuild (95/98/ME/NT3.x/NT4.x)." - Abort - - NoAbort: -FunctionEnd - -Section "Source" SecSource - SetOverwrite ifnewer - SetOutPath "$INSTDIR\src" - File /r /x *.swp /x .svn /x *.xml /x *.csproj /x *.user /x *.build /x *.prjx /x *.mdp /x bin /x obj /x *.nsi ${PRODUCT_PATH}\src\*.* - - ;Store installation folder - WriteRegStr HKCU "Software\Prebuild" "" $INSTDIR - -SectionEnd - -Section "Runtime" SecRuntime - SetOverwrite ifnewer - SetOutPath "$INSTDIR" - File /r /x *.swp /x .svn /x *.nsi /x src /x *.sln /x *.cmbx /x *.mds ${PRODUCT_PATH}\Prebuild.exe ${PRODUCT_PATH}\prebuild.xml - - ;Store installation folder - WriteRegStr HKCU "Software\Prebuild" "" $INSTDIR - -SectionEnd - -Section "Documentation" SecDocs - SetOverwrite ifnewer - SetOutPath "$INSTDIR\doc" - File /r /x *.swp /x .svn /x *.exe ${PRODUCT_PATH}\doc\*.* - - ;Store installation folder - WriteRegStr HKCU "Software\Prebuild" "" $INSTDIR -SectionEnd - -Section "Scripts" SecScripts - SetOverwrite ifnewer - SetOutPath "$INSTDIR\scripts" - File /r /x *.swp /x .svn /x *.nsi /x *.exe ${PRODUCT_PATH}\scripts\*.* - - ;Store installation folder - WriteRegStr HKCU "Software\Prebuild" "" $INSTDIR -SectionEnd - -;Language strings - -Section -AdditionalIcons - WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" -SectionEnd - -Section -Post - WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" -SectionEnd - -Section Uninstall - - DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" - DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" - RMDir /r "$INSTDIR" - -SectionEnd - -; GetWindowsVersion, taken from NSIS help, modified for our purposes -Function IsSupportedWindowsVersion - - Push $R0 - Push $R1 - - ReadRegStr $R0 HKLM \ - "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion - - IfErrors 0 lbl_winnt - - ; we are not NT - ReadRegStr $R0 HKLM \ - "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber - - StrCpy $R1 $R0 1 - StrCmp $R1 '4' 0 lbl_error - - StrCpy $R1 $R0 3 - - StrCmp $R1 '4.0' lbl_win32_95 - StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 - - lbl_win32_95: - StrCpy $R0 'False' - Goto lbl_done - - lbl_win32_98: - StrCpy $R0 'False' - Goto lbl_done - - lbl_win32_ME: - StrCpy $R0 'False' - Goto lbl_done - - lbl_winnt: - - StrCpy $R1 $R0 1 - - StrCmp $R1 '3' lbl_winnt_x - StrCmp $R1 '4' lbl_winnt_x - - StrCpy $R1 $R0 3 - - StrCmp $R1 '5.0' lbl_winnt_2000 - StrCmp $R1 '5.1' lbl_winnt_XP - StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error - - lbl_winnt_x: - StrCpy $R0 'False' - Goto lbl_done - - lbl_winnt_2000: - Strcpy $R0 'True' - Goto lbl_done - - lbl_winnt_XP: - Strcpy $R0 'True' - Goto lbl_done - - lbl_winnt_2003: - Strcpy $R0 'True' - Goto lbl_done - - lbl_error: - Strcpy $R0 'False' - lbl_done: - - Pop $R1 - Exch $R0 - -FunctionEnd -- cgit v1.1