DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

dtcodegen(1)




dtcodegen(1)		 USER COMMANDS		     dtcodegen(1)

NAME
     dtcodegen - generate code from a  TED  application	 building
     services project or module	file

SYNOPSIS
     dtcodegen [-changed] [-main] [-merge] [-nomerge]
     [-module mymod] [-p|-project myproj] [-np|-noproject]
     [-showall]	[-noshowall] [-s|-silent] [-v|-verbose]
     [file ...]

     dtcodegen -help

DESCRIPTION
     The dtcodegen utility reads Builder Interface Language (BIL)
     files created by the TED application building services
     graphical user interface and produces C, Motif and	TED
     source code for the user interface	and application	elements
     defined.  The BIL files supplied can be individual	module
     files (files with a .bil suffix) or a project file	(files
     with a .bip suffix) that contains references to zero or more
     module files.

OPTIONS
     The following options are available:

	-changed
	      Generate only source code	for those modules that
	      have changed since the last time dtcodegen was run.

	-help
	      Write a help message to standard output explaining
	      all dtcodegen options and	then terminate.

	-main
	      Produce the project files	associated with	the
	      application's main() routine.

	-merge
	      Merge generated stubs files with previous	versions,
	      perpetuating changes made	or custom edits	done to
	      the previous stubs file.	This is	the default
	      behavior.

	-nomerge
	      Do not merge existing and	new _stubs.c files.  This
	      option overrides the default merging behavior.  If
	      both -merge and -nomerge are used, the one given
	      last on the command line takes precedence.

	-module	mymod
	      Generate code for	the module mymod, (which is
	      expected to be defined in	the file mymod .bil).

Unix System LaboratoLast change: 1 August 1995			1

dtcodegen(1)		 USER COMMANDS		     dtcodegen(1)

	      Using multiple -module options includes multiple
	      modules in the generated code.

	-p|-project myproj
	      Generate code for	the project myproj, (which is
	      expected to be defined in	the file myproj	.bip).

	-noproject
	      Ignore the project.bip project file and use default
	      project settings instead.	 This is useful	in pro-
	      ducing an	application from one or	a few module
	      files (for example, for testing) as an alternative
	      to generating the	entire project.

	-showall
	      Cause the	generated application to show (map) all
	      application windows (main	windows	and dialogs) at
	      startup, ignoring	whether	they are set to	be ini-
	      tially visible or	not.  If no project is specified
	      on the command line, either by using -project or by
	      specifying a project .bip	file as	an operand,
	      dtcodegen	performs as if -showall	had been speci-
	      fied.  (The -noshowall option suppresses this
	      behavior).

	-noshowall
	      Cause the	generated application to show at startup
	      (map) only those windows (main windows and dialogs)
	      whose initially visible attribute	is true.  If a
	      project is specified on the command line,	either by
	      using -project or	by specifying a	project	.bip file
	      as an operand, dtcodegen performs	as if -noshowall
	      had been specified.  (The	-showall option
	      suppresses this behavior).

	-s|-silent
	      Work silently, producing no output except	error
	      messages while generating	source code.

	-v|-verbose
	      Be more verbose in providing progress and	status
	      messages during the generation of	source code.

OPERANDS
     The following operand is supported:

	file  A	pathname of a project or module	file.  It is not
	      necessary	to specify the .bip or .bil extension for
	      any file because dtcodegen uses a	sequence of
	      search algorithms	in the current directory to
	      determine	what files should be read in order to
	      satisfy the specified command line.

Unix System LaboratoLast change: 1 August 1995			2

dtcodegen(1)		 USER COMMANDS		     dtcodegen(1)

	      If no file operands are given, dtcodegen searches
	      the current directory for	a project file (a file
	      with a .bip suffix).  If one is found, it	is used
	      as if it had been	specified on the command line.
	      If more than one is found, the first one encoun-
	      tered is used.

	      If one or	more file operands are specified, dtcode-
	      gen checks to see	if any of them is a project file
	      in the current working directory,	and uses the
	      first one	found.	If none	of the file operands are
	      project files, then the directory	is searched for	a
	      project file.  This search is similar to the no-
	      operand case, but	is modified to look for	a project
	      file that	contain	modules	corresponding to other
	      file operands.

	      Operands other than the project file are taken to
	      be module	names.

     See the EXAMPLES section for more on the interpretation of
     filename operands and how the search features of dtcodegen
     may be used.

RESOURCES
     None.

STDIN
     Not used.

INPUT FILES
     All input files are text files in the BIL format.	See
     BIL(4).

ENVIRONMENT VARIABLES
     The following environment variables affect	the execution of
     dtcodegen:

	LANG	       Provide a default value for the interna-
		       tionalization variables that are	unset or
		       null.  If LANG is unset or null,	the
		       corresponding value from	the
		       implementation-specific default locale
		       will be used.  If any of	the internation-
		       alization variables contains an invalid
		       setting,	the utility behaves as if none of
		       the variables had been defined.

	LC_ALL	       If set to a non-empty string value, over-
		       ride the	values of all the other	interna-
		       tionalization variables.

Unix System LaboratoLast change: 1 August 1995			3

dtcodegen(1)		 USER COMMANDS		     dtcodegen(1)

	LC_MESSAGES    Determine the locale that is used to
		       affect the format and contents of diagnos-
		       tic messages written to standard	error and
		       informative messages written to standard
		       output.

	NLSPATH	       Determine the location of message catalo-
		       gues for	the processing of LC_MESSAGES.

ASYNCHRONOUS EVENTS
     The dtcodegen utility takes the standard action for all sig-
     nals.

STDOUT
     When -help	is specified, dtcodegen	writes to standard output
     a usage message in	an unspecified format.	Otherwise, stan-
     dard output is not	used.

STDERR
     When -verbose is specified, dtcodegen writes to standard
     error informational progress messages and diagnostic mes-
     sages in an unspecified format.  Otherwise, standard error
     is	used only for diagnostic messages.

OUTPUT FILES
     The dtcodegen utility produces the	following files:

	modname_ui.c
	      The primary source code file for module modname,
	      containing C code	to create the objects in the
	      module and establish connections for those objects.

	modname_ui.h
	      Declarations and C externs for module modname.

	modname_stubs.c
	      Callback functions for the element handlers
	      specific to module modname.

	project.c
	      If dtcodegen is generating code for a project, this
	      file contains main() plus	any callback functions
	      that are common across modules.

	project.h
	      If dtcodegen is generating code for a project, this
	      file contains declarations for any callback func-
	      tions and	C externs that are common across inter-
	      faces.

	.dtcodegen.log
	      A	record of per-module code generation and the date

Unix System LaboratoLast change: 1 August 1995			4

dtcodegen(1)		 USER COMMANDS		     dtcodegen(1)

	      and time of each module as it was	processed.  This
	      data is required to provide support for the
	      -changed option as part of determining which files
	      need to be regenerated and which ones do not.

     Additional	application code should	be added to the
     modname_stubs.c, project.c	and project.c files, as	appropri-
     ate, because their	contents are merged across runs	of
     dtcodegen.

EXTENDED DESCRIPTION
     None.

EXIT STATUS
     The following exit	values are returned:

	 0  successful completion

	>0  an error occurred

CONSEQUENCES OF	ERRORS
     Because code generation involves the sequential production
     of	a set of application files, errors that	cause the dtcode-
     gen utility to exit prematurely also may result in	some
     module or project source files having been	generated while
     others were not.  Attempts	to build the application from
     this mix of new and old generated code produce undefined
     results.

APPLICATION USAGE
     Typically the dtcodegen utility is	used indirectly	through
     the TED Application Builder's Code	Generator dialog.  This
     allows application	code to	be generated while the user is
     working with the Application Builder rather than through a
     separate interface	or shell command line.	The Code Genera-
     tor dialog	provides a graphical user interface for	dtcodegen
     that makes	it easy	to generate code, build	the resulting
     application and then execute it.

     In	some cases, however, it	may be desirable to use	the
     dtcodegen utility directly.  A common example of this usage
     is	to employ the code generator from within an application
     Makefile to produce a portion of the application code from
     pre-existing project or module files.

EXAMPLES
     Run the code generator on the application defined by the
     project file myproject.bip:

	  dtcodegen -p myproject

Unix System LaboratoLast change: 1 August 1995			5

dtcodegen(1)		 USER COMMANDS		     dtcodegen(1)

     Run the code generator for	the project myproject.bip, but
     only generate code	for the	module modulename.bil:

	  dtcodegen myproject.bip modulename

     Search the	current	working	directory for a	project	file that
     references	the module mymodule and	then silently generate
     code for just that	module:

	  dtcodegen -silent mymodule

     In	the following example:

	  dtcodegen name1 name2

     if	the project file name1.bip exists, it is used and code is
     generated for module name2.bil.  Otherwise, both name1 and
     name2 are taken as	the name of modules, the current working
     directory is searched for a project file that references
     both modules, and code for	those two modules is generated.

     Run the code generator, which searches the	current	working
     directory for a project file to be	processed, and generates
     all code associated with that project:

	  dtcodegen

     Generate just the files associated	with the main routine for
     the project myproject, namely myproject.c and myproject.h:

	  dtcodegen -main -p myproject

     Search the	current	working	directory for a	project	file and,
     if	one is found, generate code for	only those modules that
     have changed since	the code generator was last run:

	  dtcodegen -changed

     Generate, for the project myproject.bip, code only	for those
     modules among the set module1, module2 and	module3	that have
     changed since the last time the code generator was	run:

	  dtcodegen -changed -p	myproject module1 module2 module3

SEE ALSO
     dtbuilder(1), BIL(4).

Unix System LaboratoLast change: 1 August 1995			6


Man(1) output converted with man2html