#! /bin/sh -e UPSTREAM_VERSION=2.25 BINDIR=nsis-${UPSTREAM_VERSION} SRCDIR=nsis-${UPSTREAM_VERSION}-src URLDIR=http://superb-west.dl.sourceforge.net/sourceforge/nsis/ BINFILE=${BINDIR}.zip SRCFILE=${SRCDIR}.tar.bz2 PATH=/opt/hp-gcc/bin:/bin:/usr/bin:/sbin:/usr/sbin:/opt/vzb/bin:/opt/vzb/sbin:/usr/ccs/bin rm -fr $BINDIR $SRCDIR for i in $BINFILE $SRCFILE do test -f $i || curl -O $URLDIR/$i done /usr/local/bin/unzip $BINFILE /usr/local/bin/bunzip2 < $SRCFILE | tar xvf - cd nsis-${UPSTREAM_VERSION}-src (cd ../ ; cat $0) | /opt/vzb/bin/patch -p0 scons \ DEBUG=yes \ STRIP=no \ SKIPSTUBS=all \ SKIPPLUGINS=all \ SKIPUTILS=all \ SKIPMISC=all \ NSIS_CONFIG_CONST_DATA_PATH=no \ PREFIX=`pwd`/../$BINDIR \ install-compiler cd ../$BINDIR ./makensis Examples/example1.nsi exit 0 --- Source/ResourceEditor.cpp 2007-02-17 15:11:33.000000000 +0000 +++ Source/ResourceEditor.cpp 2007-04-17 17:25:45.000000000 +0000 @@ -31,13 +31,17 @@ return FIX_ENDIAN_INT32(d); } +#if (LONG != DWORD) static inline LONG ConvertEndianness(LONG l) { return FIX_ENDIAN_INT32(l); } +#endif +#if ((WORD != DWORD) && (WORD != LONG)) static inline WORD ConvertEndianness(WORD w) { return FIX_ENDIAN_INT16(w); } +#endif PIMAGE_NT_HEADERS CResourceEditor::GetNTHeaders(BYTE* pbPE) { // Get dos header --- Source/Platform.h 2007-04-17 15:52:21.000000000 +0000 +++ Source/Platform.h 2007-04-17 15:54:22.000000000 +0000 @@ -798,8 +798,13 @@ typedef IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; typedef PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER; #endif -#define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b -#define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b +#ifndef __BIG_ENDIAN__ +# define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b +# define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b +#else +# define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x0b01 +# define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x0b02 +#endif typedef struct _IMAGE_NT_HEADERS { DWORD Signature; IMAGE_FILE_HEADER FileHeader; --- SConstruct 2007-03-12 10:07:34.000000000 +0000 +++ SConstruct 2007-04-16 17:19:39.000000000 +0000 @@ -53,7 +53,7 @@ 'COPYING' ] -defenv = Environment() +defenv = Environment(CC = '/opt/hp-gcc/bin/gcc', CXX = '/opt/hp-gcc/bin/g++', APPEND_LINKFLAGS = '-L/usr/local/lib/hpux32') Export('defenv') ######################################################################