#
#       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.

# ==== Linux dynamic linking ====
[common]
TOOL_NAME   = c_gen_linux_d
TARGET_TEXT = Linux
TARGET_DIR  = ..\linux\

[gl.pp]
TEMPLATE=gl_linux.tem
KEY=GLDeclsIF,   IF,gl.def
KEY=GLProcsPD,   PD,gl.def,     cdecl;
KEY=GLProcsPL,   PL,gl.def,     'libgl'
KEY=GLExtDeclsIF,IF,glext.def
KEY=GLExtProcsPD,PD,glext.def,  cdecl;
KEY=GLExtProcsPL,PL,glext.def,  'libgl'
KEY=GLUDeclsIF,  IF,glu.def
KEY=GLUProcsPD,  PD,glu.def,    cdecl;
KEY=GLUProcsPL,  PL,glu.def,    'libglu'
KEY=GLXDeclsIF,  IF,glx.def
KEY=GLXProcsPD,  PD,glx.def,    cdecl;
KEY=GLXProcsPL,  PL,glx.def,    'libglx'

[glut.pp]
TEMPLATE=glut_linux.tem
KEY=GLUTDeclsIF, IF,glut.def
KEY=GLUTProcsPD, PD,glut.def,   cdecl;
KEY=GLUTProcsPL, PL,glut.def,   'libglut'

