##
## This file is part of the sigrok-cli project.
##
-## Copyright (C) 2011-2014 Uwe Hermann <uwe@hermann-uwe.de>
+## Copyright (C) 2011-2020 Uwe Hermann <uwe@hermann-uwe.de>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+## along with this program; if not, see <http://www.gnu.org/licenses/>.
##
#
Name "@PACKAGE_NAME@"
# Filename of the installer executable.
-OutFile "@PACKAGE_NAME@-@PACKAGE_VERSION@-installer.exe"
+OutFile "@PACKAGE_NAME@-@SC_PACKAGE_VERSION@-installer.exe"
# Where to install the application.
InstallDir "$PROGRAMFILES\sigrok\@PACKAGE_NAME@"
# --- MUI interface configuration ---------------------------------------------
# Use the following icon for the installer EXE file.
-!define MUI_ICON "sigrok-logo-notext.ico"
+!define MUI_ICON "@top_srcdir@/contrib/sigrok-logo-notext.ico"
# Show a nice image at the top of each installer page.
!define MUI_HEADERIMAGE
!define MUI_LICENSEPAGE_BUTTON $(^NextBtn)
!define MUI_LICENSEPAGE_TEXT_BOTTOM "Click Next to continue."
-# File name of the Python installer MSI file.
-!define PY_INST "python-3.2.3.msi"
-
-# Standard install path of the Python installer (do not change!).
-!define PY_BIN "c:\Python32"
-
# Path where the cross-compiled sigrok tools and libraries are located.
# Change this to where-ever you installed libsigrok.a and so on.
-!define CROSS "$%HOME%/sr_mingw"
-
-# Path where the cross-compiled MXE tools and libraries are located.
-# Change this to where-ever you installed MXE (and the files it built).
-!define MXE "$%HOME%/mxe-git/usr/i686-pc-mingw32"
+!define CROSS "@prefix@"
# --- MUI pages ---------------------------------------------------------------
!insertmacro MUI_PAGE_WELCOME
# Show the license of the project.
-!insertmacro MUI_PAGE_LICENSE "../COPYING"
+!insertmacro MUI_PAGE_LICENSE "@top_srcdir@/COPYING"
# Show a screen which allows the user to select which components to install.
!insertmacro MUI_PAGE_COMPONENTS
# --- Default section ---------------------------------------------------------
Section "@PACKAGE_NAME@ (required)" Section1
-
# This section is gray (can't be disabled) in the component list.
SectionIn RO
SetOutPath "$INSTDIR"
# License file.
- File "../COPYING"
+ File "@top_srcdir@/COPYING"
- # sigrok-cli.
+ # sigrok-cli.exe.
File "${CROSS}/bin/@PACKAGE_NAME@.exe"
- # libusb0.dll (needed for libusb-0.1).
- File "${CROSS}/libusb0.dll"
-
- # Zadig (used for installing libusb-win32 and WinUSB drivers).
+ # Zadig (used for installing WinUSB drivers).
File "${CROSS}/zadig.exe"
File "${CROSS}/zadig_xp.exe"
+ # Python
+ File "${CROSS}/python34.dll"
+ File "${CROSS}/python34.zip"
+ File "${CROSS}/*.pyd"
+
+ SetOutPath "$INSTDIR\share"
+
# Protocol decoders.
- SetOutPath "$INSTDIR\decoders"
- File /r /x "__pycache__" "${CROSS}/share/libsigrokdecode/decoders/*"
+ File /r /x "__pycache__" /x "*.pyc" "${CROSS}/share/libsigrokdecode"
# Firmware files.
- SetOutPath "$INSTDIR\firmware"
- File /r "${CROSS}/share/sigrok-firmware/*"
-
- # Example *.sr files.
- SetOutPath "$INSTDIR\examples"
- File /r "${CROSS}/share/sigrok-dumps/*"
+ File /r "${CROSS}/share/sigrok-firmware"
# Generate the uninstaller executable.
WriteUninstaller "$INSTDIR\Uninstall.exe"
SW_SHOWNORMAL "" "Run @PACKAGE_NAME@"
# Create a shortcut for the uninstaller.
- CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Uninstall.lnk" \
+ CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Uninstall @PACKAGE_NAME@.lnk" \
"$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 \
SW_SHOWNORMAL "" "Uninstall @PACKAGE_NAME@"
+ # Create a shortcut for the Zadig executable.
+ CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig (@PACKAGE_NAME@).lnk" \
+ "$INSTDIR\zadig.exe" "" "$INSTDIR\zadig.exe" 0 \
+ SW_SHOWNORMAL "" "Zadig"
+
+ # Create a shortcut for the Zadig executable (for Win XP).
+ CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig (@PACKAGE_NAME@, Win XP).lnk" \
+ "$INSTDIR\zadig_xp.exe" "" "$INSTDIR\zadig_xp.exe" 0 \
+ SW_SHOWNORMAL "" "Zadig (Win XP)"
+
# Create registry keys for "Add/remove programs" in the control panel.
WriteRegStr HKLM "${REGSTR}" "DisplayName" "@PACKAGE_STRING@"
WriteRegStr HKLM "${REGSTR}" "UninstallString" \
WriteRegStr HKLM "${REGSTR}" "URLUpdateInfo" \
"http://sigrok.org/wiki/Downloads"
WriteRegStr HKLM "${REGSTR}" "URLInfoAbout" "http://sigrok.org"
- WriteRegStr HKLM "${REGSTR}" "DisplayVersion" "@PACKAGE_VERSION@"
+ WriteRegStr HKLM "${REGSTR}" "DisplayVersion" "@SC_PACKAGE_VERSION@"
WriteRegStr HKLM "${REGSTR}" "Contact" \
"sigrok-devel@lists.sourceforge.org"
WriteRegStr HKLM "${REGSTR}" "Comments" \
WriteRegDWORD HKLM "${REGSTR}" "NoRepair" 1
# TODO: Add sigrok-cli directory to the PATH env. variable.
-
SectionEnd
+Section /o "Example data" Section2
+ # Example *.sr files.
+ SetOutPath "$INSTDIR\examples"
-# --- Python installer section ------------------------------------------------
-
-Section "Python" Section2
-
- # Copy the Python installer MSI file into the temporary directory.
- SetOutPath "$TEMP"
- File "${CROSS}/${PY_INST}"
-
- # Run the Python installer MSI file from within our installer.
- ExecWait '"msiexec" /i "$TEMP\${PY_INST}" /QB- /passive ALLUSERS=1'
-
- # Remove Python installer MSI file again.
- Delete "$TEMP\${PY_INST}"
-
+ File "${CROSS}/share/sigrok-dumps/arm_trace/stm32f105/trace_example.sr"
+ File "${CROSS}/share/sigrok-dumps/am230x/am2301/am2301_1mhz.sr"
+ File "${CROSS}/share/sigrok-dumps/avr_isp/atmega88/isp_atmega88_erase_chip.sr"
+ File "${CROSS}/share/sigrok-dumps/can/microchip_mcp2515dm-bm/mcp2515dm-bm-125kbits_msg_222_5bytes.sr"
+ File "${CROSS}/share/sigrok-dumps/dcf77/pollin_dcf1_module/dcf77_120s.sr"
+ File "${CROSS}/share/sigrok-dumps/i2c/eeprom_24xx/microchip_24lc02b/hantek_6022be_powerup.sr"
+ File "${CROSS}/share/sigrok-dumps/i2c/eeprom_24xx/microchip_24lc64/sainsmart_dds120_powerup_scl_sda_analog.sr"
+ File "${CROSS}/share/sigrok-dumps/i2c/potentiometer/analog_devices_ad5258/ad5258_read_once_write_continuously_triangle.sr"
+ File "${CROSS}/share/sigrok-dumps/mdio/lan8720a/lan8720a_read_write_read.sr"
+ File "${CROSS}/share/sigrok-dumps/onewire/owfs/ds28ea00.sr"
+ File "${CROSS}/share/sigrok-dumps/sdcard/sd_mode/rcar-h2/cmd23_cmd18.sr"
+ File "${CROSS}/share/sigrok-dumps/spi/mx25l1605d/mx25l1605d_read.sr"
+ File "${CROSS}/share/sigrok-dumps/uart/gps/mtk3339/mtk3339_8n1_9600.sr"
+ File "${CROSS}/share/sigrok-dumps/usb/hid/mouse/olimex_stm32-h103_usb_hid/olimex_stm32-h103_usb_hid.sr"
+ File "${CROSS}/share/sigrok-dumps/z80/kc85/kc85-20mhz.sr"
+
+ # Create a shortcut for the example data folder.
+ CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Examples (@PACKAGE_NAME@).lnk" \
+ "$INSTDIR\examples" "" "$INSTDIR\examples" 0 \
+ SW_SHOWNORMAL "" ""
SectionEnd
# --- Uninstaller section -----------------------------------------------------
Section "Uninstall"
-
# Always delete the uninstaller first (yes, this really works).
Delete "$INSTDIR\Uninstall.exe"
# Delete the application, the application data, and related libs.
Delete "$INSTDIR\COPYING"
Delete "$INSTDIR\@PACKAGE_NAME@.exe"
- Delete "$INSTDIR\libusb0.dll"
Delete "$INSTDIR\zadig.exe"
Delete "$INSTDIR\zadig_xp.exe"
+ Delete "$INSTDIR\python34.dll"
+ Delete "$INSTDIR\python34.zip"
+ Delete "$INSTDIR\*.pyd"
- # Delete all decoders and everything else in decoders/.
+ # Delete all decoders and everything else in libsigrokdecode/.
# There could be *.pyc files or __pycache__ subdirs and so on.
- RMDir /r "$INSTDIR\decoders\*"
+ RMDir /r "$INSTDIR\share\libsigrokdecode"
# Delete the firmware files.
- RMDir /r "$INSTDIR\firmware\*"
+ RMDir /r "$INSTDIR\share\sigrok-firmware"
# Delete the example *.sr files.
RMDir /r "$INSTDIR\examples\*"
# Delete the install directory and its sub-directories.
- RMDir "$INSTDIR\decoders"
- RMDir "$INSTDIR\firmware"
+ RMDir "$INSTDIR\share"
RMDir "$INSTDIR\examples"
RMDir "$INSTDIR"
# Delete the links from the start menu.
Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\sigrok command-line tool.lnk"
- Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Uninstall.lnk"
+ Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Uninstall @PACKAGE_NAME@.lnk"
+ Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig (@PACKAGE_NAME@).lnk"
+ Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig (@PACKAGE_NAME@, Win XP).lnk"
+ Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Examples (@PACKAGE_NAME@).lnk"
# Delete the sub-directory in the start menu.
RMDir "$SMPROGRAMS\sigrok\@PACKAGE_NAME@"
# Delete the registry key(s).
DeleteRegKey HKLM "${REGSTR}"
-
SectionEnd
# --- Component selection section descriptions --------------------------------
-LangString DESC_Section1 ${LANG_ENGLISH} "This installs the sigrok command-line tool, some firmware files, the protocol decoders, some example files, and all required libraries."
-LangString DESC_Section2 ${LANG_ENGLISH} "This installs Python 3.2 in its default location of c:\Python32. If you already have Python 3.2 installed, you don't need to re-install it."
+LangString DESC_Section1 ${LANG_ENGLISH} "This installs the sigrok command-line tool, some firmware files, the protocol decoders, and all required libraries."
+LangString DESC_Section2 ${LANG_ENGLISH} "This installs some example files that you can use to try out the features sigrok has to offer."
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
-!insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
-!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
+ !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
+ !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
!insertmacro MUI_FUNCTION_DESCRIPTION_END