Commit graph

161 commits

Author SHA1 Message Date
anders_k
4da72aaf77 Make GCC happy and make sure Call.sx is not preprocessed by MS toolchain
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6507 212acab6-be3b-0410-9dea-997c60f758d6
2014-06-28 19:54:51 +00:00
anders_k
2fb86bfa29 Added System::Call direct register memory access type
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6505 212acab6-be3b-0410-9dea-997c60f758d6
2014-06-27 14:27:32 +00:00
anders_k
d43e3a717c mstoolkit toolchain should use the VC toolkit linker by default. link.exe can even stand in for lib.exe if required
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6504 212acab6-be3b-0410-9dea-997c60f758d6
2014-06-23 19:15:59 +00:00
kichik
15fb0bd987 fix error: #pragma GCC diagnostic not allowed inside functions
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6500 212acab6-be3b-0410-9dea-997c60f758d6
2014-06-22 02:27:18 +00:00
anders_k
9c1d673c25 system_popstring can reuse the HGLOBAL, no need to allocate string storage
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6489 212acab6-be3b-0410-9dea-997c60f758d6
2014-05-20 20:13:54 +00:00
anders_k
36deb84820 64bit fixes and optimizations
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6486 212acab6-be3b-0410-9dea-997c60f758d6
2014-05-19 22:03:09 +00:00
anders_k
c75a00bbe7 2014 and fixed some minor typos
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6478 212acab6-be3b-0410-9dea-997c60f758d6
2014-05-13 15:51:45 +00:00
anders_k
41f1f8b504 lstrcpy is overkill there
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6448 212acab6-be3b-0410-9dea-997c60f758d6
2014-03-06 17:26:49 +00:00
anders_k
a7076ff238 Basic AMD64 System::Call support
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6444 212acab6-be3b-0410-9dea-997c60f758d6
2014-03-03 18:10:53 +00:00
anders_k
d799ee53d7 Basic Win64 support (MSVC)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6439 212acab6-be3b-0410-9dea-997c60f758d6
2014-02-08 00:13:52 +00:00
anders_k
03405bcd96 Fixed winchar tests
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6430 212acab6-be3b-0410-9dea-997c60f758d6
2014-01-22 09:54:21 +00:00
anders_k
52a8b320ef POSIX fixes for native and crossplatform utils
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6427 212acab6-be3b-0410-9dea-997c60f758d6
2014-01-21 14:13:00 +00:00
anders_k
18c0cbe3ec System::Call can call exports by ordinal with dll::#123 syntax
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6420 212acab6-be3b-0410-9dea-997c60f758d6
2013-12-09 01:17:55 +00:00
anders_k
e63fa6c53b Win64 fixes
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6413 212acab6-be3b-0410-9dea-997c60f758d6
2013-09-06 23:48:59 +00:00
anders_k
9334c3fe89 Fix duplicate defines/conflicts in Include/Win*.nsh, nsDialogs.nsh and System.nsh
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6294 212acab6-be3b-0410-9dea-997c60f758d6
2013-03-10 23:28:31 +00:00
anders_k
7cc150c464 MakeNSIS can now generate Unicode or Ansi installers based on a script attribute. SCons generates both Ansi and Unicode stubs and plugins.
The official plugins are now stored in architecture specific subdirectories under NSIS\Plugins. !AddPluginDir also gained a new (optional) architecture flag because MakeNSIS now stores separate plugin information for each target architecture. Storing plugins in the root of the Plugins directory is no longer supported.

MinGW does not implement the unicode CRT startup functions so the entry point functions and linker parameters had to be changed. The unicode tools use the ansi entry point and a small helper function that calls into the real code: _tmain has full argc+argv emulation while wWinMain does not pass the command line parameters. The stubs do not use any CRT functions and have no CRT or unicode helper code, they call our entry point directly.



git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6269 212acab6-be3b-0410-9dea-997c60f758d6
2012-10-13 01:47:50 +00:00
anders_k
59be675382 System: Minor x64 fixes
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6260 212acab6-be3b-0410-9dea-997c60f758d6
2012-09-10 22:56:41 +00:00
anders_k
2d99d7ad3e Removed unused variables and fixed GCC warnings
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6259 212acab6-be3b-0410-9dea-997c60f758d6
2012-09-08 02:50:09 +00:00
anders_k
7cd38f2367 System plugin: Try harder to find dll export function
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6243 212acab6-be3b-0410-9dea-997c60f758d6
2012-06-21 23:13:05 +00:00
anders_k
8aa67f8987 System plugin: Basic x64 fixes
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6222 212acab6-be3b-0410-9dea-997c60f758d6
2012-03-06 23:09:23 +00:00
anders_k
2132661644 System plugin: Prefer A/W export when t type is used
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6220 212acab6-be3b-0410-9dea-997c60f758d6
2012-03-06 00:26:12 +00:00
anders_k
9931591d3a Emulate g as &g16 in *() struct syntax
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6210 212acab6-be3b-0410-9dea-997c60f758d6
2011-12-13 21:20:56 +00:00
anders_k
c57acd99d2 Added SYSTEM_LOG "param out" output
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6209 212acab6-be3b-0410-9dea-997c60f758d6
2011-12-13 21:16:24 +00:00
anders_k
20e4aa0787 Fixed .Sx vs .sx file extension in scons script
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6176 212acab6-be3b-0410-9dea-997c60f758d6
2011-11-17 18:16:12 +00:00
anders_k
1b0467a030 MinGW needs Call.sx
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6175 212acab6-be3b-0410-9dea-997c60f758d6
2011-11-17 16:04:09 +00:00
anders_k
af78075192 Detect ASM+C pre-processor file extension for MinGW with SCons 1.1+
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6174 212acab6-be3b-0410-9dea-997c60f758d6
2011-11-17 16:00:29 +00:00
f0rt
1730185509 Use relative paths in .nsi script examples (#3293899)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6150 212acab6-be3b-0410-9dea-997c60f758d6
2011-05-02 19:14:03 +00:00
anders_k
d95c0ecbd8 GetProcAddress is always ansi
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6132 212acab6-be3b-0410-9dea-997c60f758d6
2010-11-15 23:45:57 +00:00
anders_k
f853b15cc7 A working COUNTOF would be nice
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6131 212acab6-be3b-0410-9dea-997c60f758d6
2010-11-15 18:17:41 +00:00
anders_k
4c62b4760e VC6 fixes when using SYSTEM_LOG_DEBUG
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6130 212acab6-be3b-0410-9dea-997c60f758d6
2010-11-15 18:02:29 +00:00
wizou
74ffaada4e Merging various fixes from latest Jim Park repository
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6096 212acab6-be3b-0410-9dea-997c60f758d6
2010-05-28 14:09:08 +00:00
wizou
70ccef9cbc Unicode: Fixed some scripts
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6068 212acab6-be3b-0410-9dea-997c60f758d6
2010-04-21 08:55:35 +00:00
wizou
57d296e159 Adding Unicode support to System plugin
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6050 212acab6-be3b-0410-9dea-997c60f758d6
2010-04-13 15:25:33 +00:00
anders_k
82d42b1159 _countof and swprintf fixes for VC6
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6045 212acab6-be3b-0410-9dea-997c60f758d6
2010-03-30 17:50:08 +00:00
wizou
acf9a8c21f Jim Park's Unicode NSIS merging - Step 4 : merging more TCHAR stuff that shouldn't have any impact
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6041 212acab6-be3b-0410-9dea-997c60f758d6
2010-03-29 14:24:47 +00:00
wizou
cdf7735a77 Jim Park's Unicode NSIS merging - Step 2 : merge TCHARs changes into trunk
Compiler output is identical before & after this step

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6037 212acab6-be3b-0410-9dea-997c60f758d6
2010-03-26 17:18:17 +00:00
wizou
752d7d239a Jim Park's Unicode NSIS merging - Step 1 : switch to TCHARs where relevant.
Compiler output is identical before & after this step

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/branches/wizou@6036 212acab6-be3b-0410-9dea-997c60f758d6
2010-03-24 17:22:56 +00:00
kichik
ec2ff441e0 asm is a reserved word for gcc
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6027 212acab6-be3b-0410-9dea-997c60f758d6
2010-02-06 15:51:55 +00:00
anders_k
32fda4e830 System Plugin: Fixed callback proc numbers and memleak in Free()
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6016 212acab6-be3b-0410-9dea-997c60f758d6
2009-12-21 21:25:45 +00:00
anders_k
a2b3b82ed9 System Plugin: Changed i to p in readme and sysfunc.nsh (Still need to deal with system.nsh and other .nsh's)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6015 212acab6-be3b-0410-9dea-997c60f758d6
2009-12-21 19:03:32 +00:00
anders_k
eebc175b92 System Plugin: Support for p as pointer/handle type
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6014 212acab6-be3b-0410-9dea-997c60f758d6
2009-12-21 15:04:22 +00:00
pabs3
eff14a4702 Install the pluginapi stuff in a subdirectory.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5922 212acab6-be3b-0410-9dea-997c60f758d6
2009-02-04 14:08:31 +00:00
kichik
79da5e1cb5 renamed plugin.* to pluginapi.*
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5856 212acab6-be3b-0410-9dea-997c60f758d6
2008-12-20 08:49:26 +00:00
kichik
5ac5b3f95b deprecate SetPluginUnload and /NOUNLOAD
plug-ins are now responsible to keeping themselves loaded using the new api

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5855 212acab6-be3b-0410-9dea-997c60f758d6
2008-12-20 08:17:15 +00:00
kichik
e59407720a use new plug-in library wherever possible, which is not a lot...
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5840 212acab6-be3b-0410-9dea-997c60f758d6
2008-12-12 18:24:00 +00:00
kichik
4c30821aa5 applied patch #1912699 - "Pinned" / always loaded plugins support
this patch also adds plugin_api_version to exec_flags so your plug-in can now tell if features it needs are available
more plug-ins that need this will be converted once the patch to make both the stubs and the plug-ins use the same header file is in place

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5809 212acab6-be3b-0410-9dea-997c60f758d6
2008-11-29 22:03:33 +00:00
kichik
b3d6dc00fd only save and restore ebp when stack generation is turned on (for parameters taken or returned on the nsis stack), just like in the old working code
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5789 212acab6-be3b-0410-9dea-997c60f758d6
2008-11-23 21:15:04 +00:00
kichik
4425d93e75 fixed bug #2318670 - New System plug-in never unloads
ebp was never restored from the stack and so edi, esi, ebx and ebp were corrupted when CallProc returned

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5785 212acab6-be3b-0410-9dea-997c60f758d6
2008-11-21 09:57:23 +00:00
kichik
0f01464e40 tabs to spaces
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5784 212acab6-be3b-0410-9dea-997c60f758d6
2008-11-21 09:34:24 +00:00
kichik
4c87ec9e83 applied patch #2193442 - port System::Call and related functions to GCC
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5775 212acab6-be3b-0410-9dea-997c60f758d6
2008-11-20 21:04:23 +00:00