#
#       build tool script for generation of OpenGL units
#

# === file format description ===
# - any empty line is ignored
# - aything preceeded with a #, *, ; and ' is a comment
# - sections can be 'common' or be made of a target file name
# - common sections define general strings, but only
#   the value of TARGET_DIR is really important for the build
# - filename sections contain one key for the template name to be used
#   plus some key definitons that describe the rules of how to insert
#   generated data.
# - a key is structured like this:
#     key_name, key_rule [,optional_parameters]
# - the following key rules exist and will create somewhat like this:
#     IG = Ignore:      <key will be ignored - no text generated>
#     TX = InsertText:  <whole text from refered file>
#     IF = Interface:   [line from option1]
#     PD = ProcDynamic: [line from option1] [option2] [//comment in line]
#     PS = ProcStatic:  [swapped proc from option1] [option2] [//comment]
#     PL = ProcLoaders: [function name from line in opt1]
#                         := GetProc([option2], '[function name from opt1]');
#   TX, IF, PD and PL use first optional parameter as the def file name.
#   the rule PD has second optional parameter that modifys the function.
#   the rule PL has second optional parameter for import lib/dll name string.

# ==== Win32 static linking ====
[common]
TOOL_NAME   = c_gen_win32_s
TARGET_TEXT = Win32
TARGET_DIR  = ../win32/

[gl_sl.pp]
TEMPLATE=gl_w32s.tem
KEY=GLDeclsIF10,        IF, gl10.def
KEY=GLProcsPS10,        PS, gl10.def,           ogl_dll;
KEY=GLDeclsIF10Ext,     IF, gl10ext.def
KEY=GLProcsPS10Ext,     PS, gl10ext.def,        ogl_dll;
KEY=GLDeclsIF10SGI,     IF, gl10sgi.def
KEY=GLProcsPS10SGI,     PS, gl10sgi.def,        ogl_dll;
KEY=GLDeclsIF10Mesa,    IF, gl10mesa.def
KEY=GLProcsPS10Mesa,    PS, gl10mesa.def,       ogl_dll;
KEY=GLDeclsIF11,        IF, gl11.def
KEY=GLProcsPS11,        PS, gl11.def,           ogl_dll;
KEY=GLDeclsIF12,        IF, gl12.def
KEY=GLProcsPS12,        PS, gl12.def,           ogl_dll;

[glu_sl.pp]
TEMPLATE=glu_w32s.tem
KEY=GLUDeclsIF,         IF, glu.def
KEY=GLUProcsPS,         PS, glu.def,            glu_dll;

[glut_sl.pp]
TEMPLATE=glut_w32s.tem
KEY=GLUTDeclsIF,        IF, glut.def
KEY=GLUTProcsPS,        PS, glut.def,           glut_dll;

[glaux_sl.pp]
TEMPLATE=glaux_w32s.tem
KEY=GLAUXDeclsIF,       IF, glaux.def
KEY=GLAUXProcsPS,       PS, glaux.def,          glaux_dll;

[glx_sl.pp]
TEMPLATE=glx_w32s.tem
KEY=GLXDeclsIF,         IF, glx.def
KEY=GLXProcsPS,         PS, glx.def,            glx_dll;

