Ignore:
Timestamp:
May 12, 2003, 12:48:43 PM (23 years ago)
Author:
zap
Message:

Started the work for re-designing the EMX C runtime library to not require
EMX.DLL. The new design is projected to be as follows:

  • all emx syscalls are replaced with the routines from the old sys.lib library which is now compilable in both a.out and OMF formats.
  • the sys.a library should be made replaceable and selectable by some gcc switch (e.g. -msyslib=emx would link with emx.a instead of sys.a which would give almost full backward compatibility with emx).
  • All C functions names were renamed to not contain the starting underscore (e.g. fopen and not _fopen). The underscored aliases will be added later with the c_alias library (which will be generated automatically from all public symbols of libc; any exported symbol that do not start with an underscore will be given an underscored alias unless such a symbol is already defined).

Also a lot of updates to the building system. It is now much faster (thanks
to Knut's suggestion of using ash's builtin echo).
Also re-wrote thunk1.asm and thunk2.asm to GAS format; this removes the need
for MASM and makes it possible to use 16-bit functions in a.out programs
without the need for EMX.DLL.
Also made a lot of small changes I don't remember now.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/mklib.smak

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r122 r123  
    1010        $(call FECHO,_@,        $$(DO.LIBRARY))$(NL)
    1111
     12# The rule for building the OMF variant of library from a.out format
     13ifneq ($(findstring aout,$(.TKIND)),)
     14# Remove the .a suffix from library name
     15.TARGET := $(patsubst %$A,%,$(.TARGET))
     16# Replace 'aout' with 'omf' in .TKIND
     17.TKIND := $(subst aout,omf,$(.TKIND))
     18# Compute the new output file directory
     19.TKIND.DIR := $(subst $(SPACE),-,$(.TKIND))/
     20# Append the .lib suffix to target name
     21.TARGET := $(.TARGET)$A
     22# Compute the name of target file to build
     23.TARG@OMF := $(.TKIND.DIR)$(.TARGET)
     24# The rule for building the xxx@omf variant of target
     25.PHONY: $(.MODULE)@omf
     26MODULES += $(.MODULE)@omf
     27DO.INSTALL += $(call CP,$.$(.TARG@OMF),$(INS)$(.INSDIR)$(.TARGET))$(NL)
     28.DIRS@OMF := $(dir $.$(.TARG@OMF))
     29TARGDIRS += $(.DIRS@OMF)
     30$(.MODULE)@omf: $(.MODULE) $(.DIRS@OMF) $.$(.TARG@OMF)
     31endif # neq ($(findstring aout,$(.TKIND)),)
     32
    1233include comend.smak
Note: See TracChangeset for help on using the changeset viewer.