summaryrefslogtreecommitdiff
path: root/com32/lua/src/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* lua: start of a binding module for libmenu.c32Ferenc Wágner2014-03-021-0/+4
|
* lua: also reactivate the cpu, dhcp, dmi, pci and vesa extension modulesFerenc Wágner2014-03-011-0/+5
| | | | And document the change in usage.
* lua: reactivate the syslinux extension moduleFerenc Wágner2014-03-011-0/+1
| | | | | Under Lua 5.2 modules are not expected to set global variables to reduce namespace pollution. Explicit require() is preferred.
* lua: add the LuaFileSystem libraryFerenc Wágner2014-03-011-0/+1
|
* lua: the COM32 API actually supports exit() of oslibFerenc Wágner2014-03-011-1/+1
|
* lua: replace src/Makefile to build Lua as a Syslinux COM32 moduleFerenc Wágner2014-03-011-172/+49
| | | | | | | | Start with the src/Makefile in Syslinux before importing Lua 5.2.2. Refresh the core Lua object list based on the original Makefile. Add the new builtin library objects. Temporarily remove the Syslinux extension library objects, as they need adjustments for the new API.
* lua: import Lua 5.2.2Ferenc Wágner2014-03-011-56/+172
| | | | | | Source downloaded from http://www.lua.org/ftp/lua-5.2.2.tar.gz. The com32/lua directory now matches exactly the source distribution, plus the various Syslinux extension modules and their documentation.
* Merge tag 'syslinux-5.01' into firmwaresyslinux-6.00-pre4Matt Fleming2013-01-291-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile NEWS com32/cmenu/Makefile com32/elflink/ldlinux/Makefile com32/gfxboot/Makefile com32/gpllib/Makefile com32/include/sys/module.h com32/lib/Makefile com32/lib/sys/module/elf_module.c com32/menu/Makefile com32/rosh/Makefile com32/samples/Makefile core/init.c mk/elf.mk Signed-off-by: Matt Fleming <matt.fleming@intel.com>
| * Always strip all the modulesH. Peter Anvin2013-01-171-3/+4
| | | | | | | | | | | | | | | | Always strip the modules; they are too big unstripped. Specifically, we generate unstripped *.elf files, and then convert them to stripped *.c32 files. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Add per-firmware object directory supportMatt Fleming2012-10-161-2/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'zytor/master' into merge/elflink/masterMatt Fleming2012-05-311-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of development has gone on in the 'master' branch since the last time we merged; new features, bug fixes, etc, etc. Conflicts: Makefile com32/Makefile com32/lib/Makefile com32/lib/syslinux/load_linux.c com32/modules/Makefile com32/modules/chain.c core/bootsect.inc core/init.inc version
| * lua: Adding dhcp supportTimm Gleason2012-01-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds DHCPINFO functionality to the lua.c32 binary gettable() returns a table of the BOOTP message fields returned by the DHCP server for use in a Lua pxeboot script See http://tools.ietf.org/html/rfc1542 lua key value RFC key ----------------------------------------------------------------------- opcode op message opcode hardware.type htype Hardware address type hardware.length hlen Hardware address length hops hops Used by relay agents transaction.id xid transaction id elapsed.seconds secs Secs elapsed since client boot flags flags DHCP Flags field client.ip.addr ciaddr client IP addr your.ip.addr yiaddr 'Your' IP addr. (from server) server.ip.addr siaddr Boot server IP addr gateway.ip.addr giaddr Relay agent IP addr client.mac chaddr Client hardware addr server.hostname sname Optl. boot server hostname boot.file file boot file name (ascii path) magic.cookie cookie Magic cookie getoptions() returns a table of the DHCP Options field of the BOOTP message returned by the DHCP server for use in a Lua pxeboot script. Many of the options are reurned formatted in as strings in a standard, recognizable format, such as IP addresses. 1, 2, and 4 byte numerical options are returned as integers. Other Options with non-standard formats are returned as strings of the raw binary number that was returned by the DHCP server and must be decoded in a Lua script The Options table returns the Option code as the key except where there are multiple values returned. In those cases, an extra key increment number is added to allow individual access to each Option value. lua key value value Name ----------------------------------------------------------------------- 1 Subnet Mask 6.1 DNS Server [element 1] 6.2 DNS Server [element 2] 6.3 DNS Server [element 3] 209 PXE Configuration File 21.1 Policy Filter [element 1] 21.2 Policy Filter [element 2] Options that can have a list of values, but contain only one (like Option 6) will not return with .sub key values. Usage: t = dhcp.gettable() for k,v in pairs(t) do print(k.." : "..v) end
* | elflink: Make ELF the default object formatMatt Fleming2011-04-261-7/+5
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | com32/elflink/modules was originally created to house ELF modules and keep them separate from the COM32 modules as the elflink branch was being developed. However, this has inadvertently created a maintenance nightmare because code was copied from elsewhere in the tree into com32/elflink/modules, resulting in duplication. Bug fixes have been going into the original code but have not been merged onto the elflink branch, leaving the duplicate code in com32/elflink/modules buggy. So let's delete this directory. There really is no reason to keep ELF and COM32 modules separate because there's no reason to need both COM32 and ELF modules to coexist. ELF is a far superior object file format and all modules are not emitted as ELF objects. Now that we're outputting ELF modules we can use dynamic memory instead of the cs_bounce bounce buffer. This commit requires a certain amount of shuffling for some files. quicksort.c isn't a module and belongs as part of the util library. cli.h belongs in com32/include so that other modules can make use of the cli code in ldlinux.c32. All libraries are now ELF shared libraries which are only loaded to fixup unresolved symbols for executable modules and renamed from *.a to *.c32. This reduces the runtime memory footprint because libraries are only loaded when needed and because every executable no longer gets its own copy of code/data (as it would if linking with a static library). Also, remove MINLIBOBJS from libcom32.c32 because it is already part of libcom32min.a and we don't want to have any duplicate symbols between the core (which links with libcom32min.a) and libcom32.c32. Welcome to the New World Order of ELF modules! Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* lua: Delete superfluous $(LIBS) prerequisiteMatt Fleming2011-04-161-2/+1
| | | | | | | com32.mk already includes the necessary library in $(C_LIBS), we don't need to list them again in $(LIBS). Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* Makefile: Move Makefile fragments into mk/Matt Fleming2011-04-071-1/+2
| | | | | | | | | | | | | | | | | | Move the MCONFIG files into a mk/ directory and give them more descriptive names. This is purely a cosmetic change to make the 'include' directives a bit more coherent by making it obvious exactly which MCONFIG file we're including. For example, in com32/lua/src/Makefile we exchange the line, include ../../MCONFIG for the much more comprehensible, include $(MAKEDIR)/com32.mk Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* lua: Adding CPU moduleErwan Velu2011-02-081-1/+1
|
* lua: Updating to 5.1.4Erwan Velu2011-02-071-0/+1
| | | | | | Updating base code to 5.1.4 Adding -DSYSLINUX build flag Moving #if 0 to ifndef SYSLINUX
* lua: Making lua building with no gcc errorErwan Velu2011-02-061-1/+1
| | | | Simple patch to make gcc happy during build in -Wall -Werror
* com32: add proper sleep()/msleep() functions and make Lua use themH. Peter Anvin2010-07-051-2/+0
| | | | | | | Add proper sleep() and msleep() functions, which among other things call syslinux_idle(), and make Lua use them. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge remote branch 'marcel/luaext'H. Peter Anvin2010-07-051-0/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge Marcel Ritter's work on the lua branch: The last time he wrote about the state of his lua branch: http://syslinux.zytor.com/archives/2009-October/013383.html The current state is: - VESA: - switching to vesa mode works - loading/displaying images works - display text works (s. com32/lua/test/vesa.lua) - PCI: - list PC devices + ID - get human-readable device name for device (s. com32/lua/test/pci.lua) - DMI: - get DMI info (BIOS, Hardware, etc). (s. com32/lua/test/dmi.lua) - syslinux: - loading files, kernel, initrd - start kernel, initrd, local boot ... just working on this, so no example lua file right now Most of the actual merging work was done by Gert Hulselmans <gerth@zytor.com>. Resolved Conflicts: com32/lib/sys/vesa/initvesa.c com32/lua/src/Makefile Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * Fixed vesa stuffMarcel Ritter2009-10-101-1/+1
| |
| * Added sleep()Marcel Ritter2009-10-091-0/+4
| | | | | | | | | | Added some comments Fixed cmdline parsing
| * COM32: lua - add vesa functions (only mode listing right now)Marcel Ritter2008-12-151-0/+1
| |
| * COM32: lua - basic pci functions implementedMarcel Ritter2008-12-151-1/+3
| |
* | lua: Modernize the MakefileH. Peter Anvin2010-07-021-73/+27
| | | | | | | | | | | | | | | | | | | | | | Modernize the Makefile for lua to match the current style, in particular to have it pick up its configuration and rules from the central MCONFIG file. This also fixes the incorrect use of "clean" vs. "spotless" which was picked up from the Makefile style in use at that time. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | lua: update for Syslinux 4Geert Stappers2010-07-011-2/+8
|/ | | | Update the lua code to work with Syslinux 4.
* COM32: lua - added dmi functionsMarcel Ritter2008-12-151-1/+1
|
* COM32: lua - added simple syslinux_run_command functionMarcel Ritter2008-12-151-0/+1
|
* COM32: lua - (re-)enable liolib to get printf like functionMarcel Ritter2008-12-151-0/+1
|
* Add some more lua libs to be compiled.Alexey Zaytsev2008-07-181-2/+5
| | | | Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
* Compile liblua, lua.c32Alexey Zaytsev2008-07-181-10/+19
| | | | Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
* Copy the Makefile from the samples dir.Alexey Zaytsev2008-07-181-0/+91
|
* Rename the Lua MakefilesAlexey Zaytsev2008-07-181-182/+0
| | | | Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>
* Import Lua 5.1.3Alexey Zaytsev2008-07-181-0/+182
Signed-off-by: Alexey Zaytsev <zaytsev.a@protei.ru>