#
#       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 = ProcDecls:   [line from option1] [option2] [//comment in line]
#     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 dynamic linking ====
[common]
TOOL_NAME   = c_gen_win32d
TARGET_TEXT = Win32
TARGET_DIR  = ..\win32\dynamic\

[gl.pp]
TEMPLATE=gl_w32d.tem
KEY=GLDeclsIF10,        IF, gl10.def
KEY=GLProcsPD10,        PD, gl10.def,           ogl_dll
KEY=GLProcsPL10,        PL, gl10.def,           libGL
KEY=GLDeclsIF10Ext,     IF, gl10ext.def
KEY=GLProcsPD10Ext,     PD, gl10ext.def,        ogl_dll
KEY=GLProcsPL10Ext,     PL, gl10ext.def,        libGL
KEY=GLDeclsIF10SGI,     IF, gl10sgi.def
KEY=GLProcsPD10SGI,     PD, gl10sgi.def,        ogl_dll
KEY=GLProcsPL10SGI,     PL, gl10sgi.def,        libGL
KEY=GLDeclsIF10Mesa,    IF, gl10mesa.def
KEY=GLProcsPD10Mesa,    PD, gl10mesa.def,       ogl_dll
KEY=GLProcsPL10Mesa,    PL, gl10mesa.def,       libGL
KEY=GLDeclsIF11,        IF, gl11.def
KEY=GLProcsPD11,        PD, gl11.def,           ogl_dll
KEY=GLProcsPL11,        PL, gl11.def,           libGL
KEY=GLDeclsIF12,        IF, gl12.def
KEY=GLProcsPD12,        PD, gl12.def,           ogl_dll
KEY=GLProcsPL12,        PL, gl12.def,           libGL

[glu.pp]
TEMPLATE=glu_w32d.tem
KEY=GLUDeclsIF,         IF,glu.def
KEY=GLUProcsPD,         PD,glu.def,             glu_dll
KEY=GLUProcsPL,         PL,glu.def,             libGLU

[glut.pp]
TEMPLATE=glut_w32d.tem
KEY=GLUTDeclsIF,        IF,glut.def
KEY=GLUTProcsPD,        PD,glut.def,            glut_dll
KEY=GLUTProcsPL,        PL,glut.def,            libGLUT

[glaux.pp]
TEMPLATE=glaux_w32d.tem
KEY=GLAUXDeclsIF,       IF,glaux.def
KEY=GLAUXProcsPD,       PD,glaux.def,           glaux_dll
KEY=GLAUXProcsPL,       PL,glaux.def,           libGLAUX

[glx.pp]
TEMPLATE=glx_w32d.tem
KEY=GLXDeclsIF,         IF,glx.def
KEY=GLXProcsPD,         PD,glx.def,             glx_dll
KEY=GLXProcsPL,         PL,glx.def,             libGLX

