summaryrefslogtreecommitdiff
path: root/win32
Commit message (Collapse)AuthorAgeFilesLines
* build: sort sources to build in a more deterministic wayPhilippe Coval2015-01-051-1/+1
| | | | | | | | | | | | | | | | | It has been observed that binaries contents are depending on the order of linked objects. This order is caused by GNU make's wildcard function and the position of sources on filesystem. This change tries to prevent this kind of randomness. Also consider building using -j1 flag to make it even more reproductible. Change-Id: Ie8eee7f336e6f1fa2863c4150d967afd15519f1d Bug: http://bugzilla.syslinux.org/show_bug.cgi?id=57#related Signed-off-by: Philippe Coval <philippe.coval at open.eurogiciel.org>
* Merge remote-tracking branch 'origin/syslinux-5.xx'H. Peter Anvin2014-01-182-2/+2
|\ | | | | | | | | | | | | Resolved Conflicts: version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * Merge remote-tracking branch 'origin/syslinux-4.xx' into syslinux-5.xxH. Peter Anvin2014-01-182-2/+2
| |\ | | | | | | | | | | | | | | | | | | Resolved Conflicts: version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * Makefiles: don't include *.tmpH. Peter Anvin2014-01-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since checkin: bd09a6d828fa Major Makefile cleanups; gcc 4.3.0 compatiblity ... we include *.tmp into the Makefiles as well as .*.d. This seems to have been a mistake in made when adding *.tmp to cleanup rules, probably using a sed script. This causes problems, because *.tmp files are generated by the gcc_ok macro and do not contain Makefile rules at all. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| | * Revert "win: Add -mno-ms-bitfields"H. Peter Anvin2012-10-221-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7d9ee65cc9577eb69782a49a34895ae80820e9ff. I am concerned that this may cause the Windows ABI header files to be misinterpreted. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| | * win: Add -mno-ms-bitfieldsShao Miller2012-10-111-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent MinGW GCCs now have -mms-bitfields on by default, but it appears to break our intentions with __attribute__((packed)). See GCC bug 52991, http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991 The undesired behaviour was noticed when the win32 installer had troubles identifying the media type field of a boot sector. Signed-off-by: Shao Miller <sha0.miller@gmail.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | | Merge tag 'syslinux-5.00-pre9' into for-hpa/elflink/firmwareMatt Fleming2012-11-051-0/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | This merge also includes the Syslinux-4.06 release. Conflicts: Makefile com32/hdt/Makefile com32/modules/Makefile com32/samples/hello.c mtools/Makefile
| * | installers: Install ldlinux.c32 automaticallysyslinux-5.00-pre8Matt Fleming2012-09-191-0/+1
| |/ | | | | | | | | | | | | Because ldlinux.c32 is required for Syslinux to function correctly, we should be installing it automatically much like ldlinux.sys. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | Add per-firmware object directory supportMatt Fleming2012-10-161-6/+7
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have multiple firmware backends it no longer makes sense to write object files to the same directory as their source. A better solution is to write the object files to a per-firmware directory under a top-level object directory. The top-level object directory can be specified on the command-line with the O= variable, e.g. make O=/tmp/obj. If no top-level object directory is specified an 'obj' directory is created in the top-level of the Syslinux source repository. All the existing make targets continue to work as before, however now they apply to all firmware backends, e.g. 'make installer' will build the BIOS, 32-bit EFI and 64-bit EFI installers and place them under $(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively. Note unlike every other bit of Syslinux, the gpxe objects are still kept in the src directory, e.g. gpxe/src, since gpxe is only required by the BIOS backend. It is possible to specify a make target for a specific firmware or list of firmware with the following syntax, make [firmware[,firmware]] [target[,target]] To clean the object directory for just the BIOS firmware type, 'make bios clean' To build both the 32-bit and 64-bit EFI installers type, 'make efi32 efi64 installer' Since the Syslinux make infrastructure is now more complex a new file doc/building.txt has been created to explain how to build Syslinux. The top-level Makefile now exports some make variables for use in module Makefiles, - topdir - the top-level source directory of the Syslinux repository, e.g. /usr/src/syslinux - objdir - the top-level object directory for the firmware backend currently being built, e.g. /obj/syslinux/bios - SRC - the source directory in the Syslinux repository for the module currently being built, e.g. /usr/src/syslinux/com32/libupload - OBJ - the object directory for the module currently being built, e.g. /obj/syslinux/bios/com32/libupload Since we're rewriting the Makefile infrastructure anyway it seemed like a good idea to add parallel support. By writing subdirectories as prequisites for make targets the objects in those subdirectories can be built in parallel. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* win32: add new mingw prefixPaulo Alcantara2012-01-261-1/+2
| | | | | | | | This prefix is used on at least Ubuntu 12.04 when installing the mingw-w64 package. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com> Reported-by: Gert Hulselmans <hulselmansgert@gmail.com>
* win: Add further NTFS support to Windows installersShao Miller2011-09-112-1/+88
| | | | | | | | We have a way of building a map of the LDLINUX.SYS sectors on an NTFS filesystem, now. Signed-off-by: Paulo Alcantara <pcacjr@gmail.com> Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* Add NTFS filesystem support to Linux and Windows installersPaulo Alcantara2011-09-071-1/+1
| | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
* win64: experimental Win64 installer (syslinux64.exe)syslinux-4.02H. Peter Anvin2010-07-216-528/+11
| | | | | | | Experimental Win64 installer. This is necessary to be able to run on WinPE64, since WinPE64 doesn't support running 32-bit binaries. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* win32: fix README, adjust broken +x bitsH. Peter Anvin2010-07-212-0/+0
| | | | | | | Fix the win32/README file and adjust some stray +x bits which had crept in. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* dos: Use libinstaller option parserShao Miller2010-07-191-2/+0
| | | | | | | We will produce an error message if a user attempts to use an option we don't implement. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* win32: remove an archive before running ar on itH. Peter Anvin2010-07-191-0/+1
| | | | | | Always remove an archive before ar... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* dos, win32: use our own getopt_long() for bothH. Peter Anvin2010-07-191-2/+3
| | | | | | | | Use our own version of getopt_long() for both the DOS and Win32 installers. Currently, on MinGW, getopt_long() is a static library, but that could change in some installations. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* win32: Use libinstaller option parserShao Miller2010-07-033-78/+34
| | | | | | | We will produce an error message if a user attempts to use an option we don't implement. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* win32: vacuous ADV supportH. Peter Anvin2010-06-222-7/+14
| | | | | | | | Install an empty ADV in the Windows installer to keep it from being broken. In order to do that, separate the Unix-specific ADV I/O functions from the generic data structure manipulation. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* win32: use .obj not .o, and build an intermediate libraryH. Peter Anvin2010-06-221-6/+14
| | | | | | | | | | Use .obj as the extension, rather than .o, to match Windows conventions. Furthermore, build an intermediate library for the stuff that we pick up from elsewhere; this makes it easier to build additional Windows binaries with helper functions in libinstaller or another source library. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Merge syslinux/extlinux patch code and core codeH. Peter Anvin2010-06-202-1/+2
| | | | | | | | Merge the SYSLINUX and EXTLINUX patching code and core code, removing EXTLINUX as a separate derivative. All the disk-based systems now use the same code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Make syslinux installer real "pathbased"Alek Du2010-06-091-1/+1
| | | | | | | | | | | | | The previous merging extlinux/syslinux patch is not sufficient, the syslinux is not real "patchbased", hence: * fill currentdir in patcharea * search "extlinux.conf" and "syslinux.cfg" for generic_load_config * define boot_image and boot_sector macro for ldsyslinux this could make further merging extlinux and syslinux possible Signed-off-by: Alek Du <alek.du@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Merge branch 'master' into fscH. Peter Anvin2010-01-241-2/+2
|\ | | | | | | | | | | Conflicts: com32/lib/MCONFIG com32/lib/readdir.c
| * Makefile: replace -W -Wall with centralized $(GCCWARN)H. Peter Anvin2010-01-101-2/+2
| | | | | | | | | | | | | | | | | | Replace -W -Wall hardcoded into a bunch of Makefiles with $(GCCWARN), a centralized variable defined in the root MCONFIG. Add -Wstrict-prototypes to the list of global warnings: we should never have non-prototyped declarations. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | Merge branch 'master' into core32H. Peter Anvin2009-05-292-408/+411
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: com32/include/netinet/in.h com32/include/sys/cpu.h dos/argv.c dos/malloc.c dos/syslinux.c extlinux/main.c libinstaller/setadv.c libinstaller/syslinux.h libinstaller/syslxint.h libinstaller/syslxmod.c linux/syslinux.c mtools/syslinux.c win32/syslinux.c Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * Run Nindent on win32/syslinux.cH. Peter Anvin2009-05-291-402/+405
| | | | | | | | | | | | | | | | | | Automatically reformat win32/syslinux.c using Nindent. Do this for all files except HDT, gPXE and externally maintained libraries (zlib, tinyjpeg, libpng). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * Run Nindent on win32/hello.cH. Peter Anvin2009-05-291-2/+2
| | | | | | | | | | | | | | | | | | Automatically reformat win32/hello.c using Nindent. Do this for all files except HDT, gPXE and externally maintained libraries (zlib, tinyjpeg, libpng). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | Standardize the names SECTOR_SIZE and SECTOR_SHIFTH. Peter Anvin2009-05-191-7/+7
| | | | | | | | | | | | | | Use the names SECTOR_SIZE and SECTOR_SHIFT everywhere, instead of an odd mix of symbols and hard-coded constants. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | FAT: change DOS installer to EXE; additional 32K limit fixesH. Peter Anvin2009-05-191-3/+6
|/ | | | | | | | | | | | | | Additional fixes for the 32K limits in the installers. In the case of the DOS installer, that means changing it from COM format to EXE format (since COM format has a 63K hard limit); retain the name syslinux.com for user compatibility, though (DOS doesn't care what the extension except for pathname search; if it finds an MZ EXE header it will use it.) With the change to EXE means having to handle more than one segment. Since we don't have a real DOS compiler we have to wing it a bit. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Unify dependency generationH. Peter Anvin2009-04-271-3/+3
| | | | | | | | | | | | Make the dependency generation more common; have a general pattern in MCONFIG, and use it in rules (not in CFLAGS). For NASM source, in order to stay compatible with old versions of NASM, run NASM twice; newer versions of NASM is capable of generating dependencies simultaneously like gcc can, but that would break compatibility with older distros. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* find-mingw: handle the names used in Fedora 10+H. Peter Anvin2009-02-111-0/+8
| | | | | Handle the names used in Fedora, now when Fedora includes MinGW32 in the standard distribution.
* Major Makefile cleanups; gcc 4.3.0 compatiblityH. Peter Anvin2008-08-201-2/+2
| | | | | Cleanup and centralize the Makefile system even more. Fix a gcc 4.3 incompatibility in memdisk (definition of strlen).
* win32: run shell script in the current dir with ./H. Peter Anvin2008-07-171-1/+1
| | | | | | Need leading ./ to run shell script in the current directory. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* win32: search for a mingw compiler under several namesH. Peter Anvin2008-07-162-17/+37
| | | | | | | | Search for the MinGW compiler under several names, since different distros like to install it under different names. What's wrong with a simple mingw- prefix?? Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Build _bin.c files in libinstaller; clean up B/I separationH. Peter Anvin2008-06-271-4/+7
| | | | | | | Clean up the BSUBDIR/ISUBDIR separation further. Build _bin.c files, which are an intermediate stage toward building the installers, in the libinstaller directory, since that directory is used by all the installers anyway. That also lets us get bin2c.pl out of the root.
* Move files out of root into core, dos, and utilsH. Peter Anvin2008-05-291-4/+5
| | | | | | | | Move source files out of the root directory; the root is a mess and has become virtually unmaintainable. The Syslinux core now lives in core/; the Linux and generic utilities has moved into utils/, and copybs.com has moved into dos/; it had to go somewhere, and it seemed as good a place as any.
* win32/Makefile: clean hello.exe on "make tidy"H. Peter Anvin2008-03-031-1/+1
| | | | hello.exe isn't really anything we care about; clean it up on "make tidy".
* Merge commit 'origin/master' into advH. Peter Anvin2008-01-102-2/+2
|\ | | | | | | | | | | Conflicts: extlinux/extlinux.c
| * Update copyright yearH. Peter Anvin2008-01-102-2/+2
| |
* | Create libinstaller; actually implement boot-once for extlinuxH. Peter Anvin2007-12-141-3/+4
|/ | | | | | --once now supported for extlinux; some infrastructure for syslinux there as well, need implementation in all the various installers, however.
* RAID mode installer support for SYSLINUXsyslinux-3.50-pre18H. Peter Anvin2007-06-011-3/+8
| | | | Hook up RAID mode in the installers for SYSLINUX
* Update the default names of the MinGW tools.H. Peter Anvin2007-04-261-3/+3
|
* Document the use of the MinGW compiler.H. Peter Anvin2007-04-261-0/+8
|
* Stealth whitespace cleanup (automated)H. Peter Anvin2007-03-142-3/+3
|
* Win32 FAT installer: fix type typo (which happened to cancel itself out...)H. Peter Anvin2007-01-241-1/+1
| | | | | | I had written "char *c = ..." instead of "char c = ..."; as it turned out, the resulting (invalid) type conversions all worked themselves out and it didn't matter, except for compiler warnings...
* Win32 FAT installer: fix path mangling for -d optionH. Peter Anvin2007-01-241-3/+10
|
* Win32 FAT installer: support installing in a subdirectorysyslinux-3.35-pre2H. Peter Anvin2007-01-231-1/+46
|
* Makefile cleanup to be able to build with CC='gcc -m32'syslinux-3.32-pre2H. Peter Anvin2006-10-171-23/+23
|
* Remove more CVS-era $Id$ tags.H. Peter Anvin2006-08-171-1/+0
|
* Across-the-board stealth whitespace cleanupH. Peter Anvin2006-05-032-32/+32
|