; Script generated by the Inno Setup Script Wizard and heavily ; modified by hand by Christian Stimming. ; ; Inno Setup Compiler: See http://www.jrsoftware.org/isdl.php ; [Setup] ; Using the name here directly because we want it capitalized AppName=Lapackpp AppVerName=Lapackpp 2.5.2 AppPublisher=Lapackpp Development Team AppPublisherURL=http://lapackpp.sourceforge.net AppSupportURL=http://sourceforge.net/support/getsupport.php?group_id=99696 AppUpdatesURL=http://sourceforge.net/project/showfiles.php?group_id=99696 DefaultDirName={pf}\lapackpp DirExistsWarning=no LicenseFile=COPYING OutputDir=. OutputBaseFilename=lapackpp-2.5.2-setup ;OutputBaseFilename=lapackpp-2.5.2-MSVC-setup [Types] Name: "full"; Description: "{cm:FullInstall}" Name: "binary"; Description: "{cm:BinaryInstall}" Name: "custom"; Description: "{cm:CustomInstall}"; Flags: iscustom [Components] Name: "main"; Description: "{cm:MainFiles}"; Types: full binary custom; Flags: fixed Name: "devel"; Description: "{cm:DevelFiles}"; Types: full Name: "doc"; Description: "{cm:DocFiles}"; Types: full [Files] ; The main gcc DLL ;; the old name, now unused: Source: "src\lapackpp32.dll"; DestDir: "{win}"; DestName: "lapackpp32.dll"; Flags: sharedfile promptifolder replacesameversion; Components: main Source: "distribution\win32-tmp\bin\*.dll"; DestDir: "{win}"; Flags: sharedfile promptifolder replacesameversion; Components: main ; Distributing these DLLs as well because there is no extra package ; for them available. Source: "c:\WINNT\liblapack32.dll"; DestDir: "{win}"; Flags: sharedfile promptifolder; Components: main Source: "c:\WINNT\libblas32.dll"; DestDir: "{win}"; Flags: sharedfile promptifolder; Components: main Source: "..\..\LAPACK\liblapack32.lib"; DestDir: "{app}\lib"; Components: devel Source: "..\..\LAPACK\libblas32.lib"; DestDir: "{app}\lib"; Components: devel ; If chosen by the configuration, also include the MSVC lib file ;Source: "Debug\lapackpp.dll"; DestDir: "{app}\bin"; Flags: sharedfile promptifolder replacesameversion; Components: main ;Source: "Debug\lapackpp.lib"; DestDir: "{app}\lib"; Flags: sharedfile promptifolder replacesameversion; Components: devel ; The library linker files Source: "distribution\win32-tmp\lib\*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs; Components: devel ; The pkgconfig file. It is post-processed by the Pascal script below. Source: "lapackpp.pc.in"; DestDir: "{app}\lib\pkgconfig"; Components: devel; AfterInstall: MyAfterInstallConfig(ExpandConstant('{app}\lib\pkgconfig\lapackpp.pc')) ; The headers Source: "distribution\win32-tmp\include\*"; DestDir: "{app}\include"; Flags: ignoreversion recursesubdirs; Components: devel ; The m4 macro Source: "distribution\win32-tmp\share\*"; DestDir: "{app}\share"; Flags: ignoreversion recursesubdirs; Components: devel ; And all the documentation Source: "COPYING"; DestDir: "{app}\doc\lapackpp"; Flags: ignoreversion; Components: doc Source: "README.W32"; DestDir: "{app}\doc\lapackpp"; Components: doc Source: "README"; DestDir: "{app}\doc\lapackpp"; Components: doc Source: "MAINTAINER"; DestDir: "{app}\doc\lapackpp"; Components: doc Source: "NEWS"; DestDir: "{app}\doc\lapackpp"; Components: doc Source: "ChangeLog"; DestDir: "{app}\doc\lapackpp"; Components: doc ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Delete the created config script on uninstall ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [UninstallDelete] Type: files; Name: "{app}\lib\pkgconfig\lapackpp.pc" ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; This large section is a Pascal scripting program that will modify ; the lapackpp.pc config file so that it then includes the ; correct values according to our local installation. See ; http://www.remobjects.com/?ps for a syntax reference. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [Code] function MingwBacksl(const S: String): String; begin { Modify the path name S so that it can be used by MinGW } if Length(ExtractFileDrive(S)) = 0 then Result := S else begin Result := '/'+S; StringChange(Result, ':\', '\'); end; StringChange(Result, '\', '/'); end; procedure MyAfterInstallConfig(FileName: String); var FileString, appdir, windir, includedir: String; Res: Boolean; begin { Load the unchanged original file } Res := LoadStringFromFile(Format('%s.in',[FileName]), FileString); if Res = False then MsgBox('Error on loading '+FileName+'.in for final adaptation', mbInformation, MB_OK); { Get the installation-specific paths } windir := MingwBacksl(ExpandConstant('{win}')); appdir := MingwBacksl(ExpandConstant('{app}')); includedir := appdir + '/include'; { Now make all the replacements } { Explanation: StringChange(S,FromStr,ToStr): Change all occurances in S of FromStr to ToStr. } StringChange(FileString, '@'+'prefix@', appdir); StringChange(FileString, '@'+'exec_prefix@', appdir); StringChange(FileString, '@'+'libdir@', windir); StringChange(FileString, '@'+'includedir@', includedir); StringChange(FileString, '@'+'datadir@', appdir + '/share'); StringChange(FileString, '@'+'bindir@', appdir + '/bin'); StringChange(FileString, '@'+'VERSION@', '2.5.2'); StringChange(FileString, '@'+'LAPACKPP_LIBS@', '-llapackpp'); StringChange(FileString, '@'+'LAPACKPP_LDFLAGS@', '-L'+windir); { Save the final file } Res := SaveStringToFile(FileName, FileString, False); if Res = False then MsgBox('Error on saving '+FileName+' for final adaptation', mbInformation, MB_OK); end; [Languages] Name: "en"; MessagesFile: "compiler:Default.isl" Name: "de"; MessagesFile: "compiler:Languages\German.isl" [CustomMessages] FullInstall=Full installation BinaryInstall=Install only libraries CustomInstall=Custom installation MainFiles=Lapackpp DLL Library (only for gcc compiler) DevelFiles=Development files DocFiles=Documentation files de.FullInstall=Komplett-Installation de.BinaryInstall=Nur Bibliotheken installieren de.CustomInstall=Benutzerdefiniert de.MainFiles=Lapackpp DLL Bibliothek (nur gcc Compiler) de.DevelFiles=Entwickler-Dateien de.DocFiles=Dokumentations-Dateien