Commit Graph

49 Commits (87cce0ba6aaf07df0c11e74c86bdb5754a15b76c)

Author SHA1 Message Date
Doug Coleman 67d5e633f1 nmake: Fix caching on Windows when compiling without a manifest. 2020-03-09 17:30:24 -05:00
Doug Coleman 34029cf1e4 Nmakefile: Add default flags and add command to add the manifest to .exe
The manifest is disabled for now, but once we fix the resolution we
should enable it.

to test:
nmake /f Nmakefile factor.exe.manifest

Right now the UI looks tiny if you compile for the factor.exe and
include the manifest.

Lastly, sorry for the WIP but it seems pretty harmless and has been
sitting in a branch for almost three years.
2020-03-06 23:33:26 -06:00
Niklas Larsson 99df1effea Don't use rm from the nmake build. 2019-11-24 15:51:15 -08:00
Doug Coleman a9871b39aa vm: Fix DEBUG flag, make REPRODUCIBLE work like debug, minor fixes to build.sh
- ``make DEBUG=0`` caused debug mode because the check was ``ifdef DEBUG`` which is true even if DEBUG=0
- no need to ``#pragma message`` that we are doing a reproducible build imo
- clang warns about redefining builtin macros, turn the warning off for reproducible builds
- add ``./build.sh info`` as an alias for ``./build.sh report``
- show if we a reproducible in report/info
2019-02-23 16:23:33 -06:00
Cat Stevens 044f7bbe11 vm/master.hpp: optional reproducible VM compilation
The old behaviour of building with `__DATE__` and
    `__TIME__` is still the default, but now it's
    possible to use `-DREPRODUCIBLE=1` and the
    `REPRODUCIBLE=1` parameter to `make` and `nmake`.

Specifically, this replaces the value of
    `FACTOR_COMPILE_TIME` with the string constant
    `"[reproducible]"`. This is purely a cosmetic
    change.
2019-02-20 15:50:06 -05:00
John Benediktsson a463214d10 Version bump to 0.99 (-dev). 2018-07-31 12:40:12 -07:00
Doug Coleman 5e67ded4a9 Nmakefile: Let cl decide how many threads to use. 2018-03-15 11:13:48 -05:00
Doug Coleman a1995c491c Nmakefile: Parallel! 2018-03-15 11:13:41 -05:00
Doug Coleman 8c6925294f Nmakefile, build.cmd: Set the build information in Nmakefile.
If there is no .git directory, assume we are on master branch.

Fixes #1970.
2018-03-11 00:14:03 -06:00
Alexander Iljin b540feb95d Nmakefile: add the /largeaddressaware linker option for 32-bit builds
This somewhat mitigates issue #1828 by allowing more memory to be allocated
for the 32-bit apps on some systems. Has no effect on 32-bit Windows XP.
2017-06-04 00:11:35 -05:00
John Benediktsson 2725f7c2ba update Nmakefile to properly delete vm\factor.res. 2016-11-09 20:24:49 -08:00
Alexander Iljin 526a995d64 VM: implement a ctrl-break handler thread (#1573) 2016-11-01 16:53:00 -07:00
Björn Lindqvist c2f4fdb172 VM: merge of the free_list and free_list_allocator classes
Seem simpler to have all the free list stuff in one class rather than
split it over two classes.
2016-10-08 07:04:28 +02:00
Björn Lindqvist bc8525eb02 VM: the small return_address_index function can be implemented in the header 2016-09-10 03:18:18 +02:00
Alexander Iljin 0a8070e094 Nmakefile: remove duplicate code 2016-06-22 11:27:26 -07:00
Doug Coleman bd60c41d05 Nmakefile: remove BOOTIMAGE_VERSION. The git-id is enough to recover the boot image name. 2016-03-29 09:32:35 -07:00
Björn Lindqvist bc7f9ee669 VM: always use undecorated names when loading ffi functions
For win32, Factor tries four different function names when loading
stdcall and fastcall functions, in case decorated names are used in the
dll. It seems to not be necessary because a dll meant for 3rd party use
will always export undecorated
names (http://blogs.msdn.com/b/oldnewthing/archive/2004/01/12/57833.aspx).
2015-09-02 21:54:41 +02:00
Doug Coleman 5f8baad617 Nmakefile: Set the /SUBSYSTEM for 5.01 (win32), or 5.02 (x64) to allow
running on Windows XP. In x86-32-vista mode, don't set it.

real information:
https://software.intel.com/en-us/articles/linking-applications-using-visual-studio-2012-to-run-on-windows-xp

Fixes #1257.
2015-06-10 19:11:38 -07:00
Björn Lindqvist 090f4fddd5 VM: Three new special objects added to keep track of the builds version number, git label and compilation time respectively. The info is exposed in the system:version-info word and also shown in the banner during startup.
Conflicts:
	Nmakefile
	basis/ui/tools/listener/listener.factor
	core/alien/strings/strings.factor
2014-11-10 23:01:52 -08:00
Benjamin Pollack 2c3dd8c3c8 Remove executable bit from tons of files that aren't 2014-11-05 20:40:42 -08:00
Doug Coleman c3210f9f4f Windows: Add two new targets, x86-32-vista and x86-64-vista for bjourne's
ctrl-c patch. We still support Windows XP by default for now. Closes
2014-05-10 18:13:20 -07:00
Erik Charlebois a42ba561d2 VM: Remove empty source files 2013-05-12 13:24:40 -04:00
Joe Groff c31530caec vm: strip out call-counting profiler
This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318.
2011-11-10 16:01:07 -08:00
Joe Groff 72d335f2b5 vm: write async signals to pipe for multiplexer
also factor out safepoint logic into its own file
2011-11-08 08:42:46 -08:00
Joe Groff 80fb7788d9 vm: groundwork for sampling profiler
Set up the state necessary to collect samples. We still need to add GC support for walking the sample set, and the compiler needs to register GC roots before safepoints as well. We also need primitives to expose the data to Factor for reporting.
2011-11-02 13:23:06 -07:00
Joe Groff cdfb1b1b94 vm: change "profiler" names to "counting_profiler" 2011-11-02 13:23:05 -07:00
Joe Groff 6d57eb4f59 vm: update windows for resumable signals 2011-10-27 21:18:21 -07:00
Doug Coleman f791c8c5d2 Squashed commit of the following:
commit 197dbe9a6733775ac0ea19b3da4bd4dc3c85418c
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 19:01:38 2010 -0500

    Fix bootstrap, move privileges to windows.privileges

commit 521c622f8afb15bf42d263c738cb990560dc29cb
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:26:30 2010 -0500

    Hopefully fix bootstrap

commit eb3f22928b59758b9505430034044b5b94705da2
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:19:05 2010 -0500

    Remove wince from factor codebase

commit 619d6c99415f46208a7ede6a04b0ccda46b15360
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 16:07:46 2010 -0500

    Remove Windows CE from vm/
2010-09-19 19:13:25 -05:00
Slava Pestov 4aa644a256 vm: fix compile warnings on Windows and add /WX to Nmakefile to report warnings as errors so that mason can catch these in the future 2010-06-17 01:48:39 -04:00
Slava Pestov 806e54630a GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
Joe Groff e9d7b2876e Nmakefile: delete factor.res when cleaning 2010-06-04 17:03:33 -07:00
Joe Groff 0993e6883d "factor.cmd" script to automate update/build/bootstrap cycle for windows. remove bootimage-* targets from nmakefile 2010-05-24 15:56:00 -07:00
Joe Groff 518fa0de57 add targets to Nmakefile to fetch boot images on windows, add a wscript program to fetch files over http without depending on curl/wget 2010-05-24 14:19:44 -07:00
Joe Groff 52e01d93b2 define _CRT_SECURE_NO_WARNINGS to prevent MSVC from pushing its stupid nonstandard forms of standard C functions 2010-05-05 22:26:09 -07:00
Slava Pestov ea81faffca Nmakefile: fix 32-bit build 2010-04-08 18:06:22 -05:00
Slava Pestov 1019278474 Nmakefile: support both 32-bit and 64-bit builds again 2010-04-08 18:00:00 -05:00
Slava Pestov e5e51c40a1 vm: implement frame-based SEH for 64-bit Windows 2010-04-08 10:32:14 -07:00
Slava Pestov 430a05dcea Store stack bounds in TIB on win64 to make C++ exceptions work 2010-04-05 19:07:10 -04:00
Slava Pestov 9b44451682 Safe SEH is better than abstinence 2010-04-05 15:02:32 -05:00
Slava Pestov 74640b7f71 Get green threads working on Windows
- store stack base and limit in TIB
- set up a frame-based structured exception handler in each context's callstack
- boot.x86.32.image has now been replaced by boot.winnt-x86.32.image and boot.unix-x86.32.image
2010-04-03 20:24:33 -04:00
Joe Groff fa49520cbf update nmakefile to statically link VM to exe just like GNUmakefile 2010-04-01 21:59:02 -07:00
Slava Pestov 43b2e02534 vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
Slava Pestov bf05a901c4 Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI 2010-02-02 04:01:12 -06:00
erikc f33c73bf94 Merge up 2010-01-30 20:39:43 -08:00
Slava Pestov 942f6e0943 Update Win64 support 2010-01-25 15:39:34 +13:00
Slava Pestov 860641f759 GNUmakefile: some more cleanups 2010-01-20 02:48:07 +13:00
Slava Pestov d36b83d6a9 Use ParseCommandLineArgvw() on Windows again, instead of hand-rolled parser. Update Nmakefile to link in shell32.dll, where this function is defined 2010-01-18 06:12:04 -06:00
Slava Pestov d478fd01f0 Nmakefile: build factor.dll and link in resource file 2010-01-16 22:41:17 -06:00
Slava Pestov e4da687413 vm: Tweak Factor VM to compile with Microsoft Visual Studio on Windows, in addition to Mingw. Add an Nmakefile which can be used for this purpose. Rename Makefile to GNUmakefile. 2010-01-17 03:43:22 +13:00