home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / lib / Xt / sharedlib.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-21  |  5.1 KB  |  204 lines

  1. /*
  2.  * $XConsortium: sharedlib.c,v 1.14 92/01/06 17:01:45 gildea Exp $
  3.  * 
  4.  * Copyright 1989 Massachusetts Institute of Technology
  5.  *
  6.  * This file is used to force shared libraries to get the right routines.  For
  7.  * Sun shared libraries, this only wants to be compiled when we are *not*
  8.  * generating shared code so that this gets copied into the application binary.
  9.  */
  10.  
  11. #if (defined(SUNSHLIB) || defined(AIXSHLIB)) && !defined(SHAREDCODE)
  12. #include "IntrinsicI.h"
  13. #include "VarargsI.h"
  14. #include "ShellP.h"
  15. #include "VendorP.h"
  16.  
  17.  
  18. #ifdef AIXSHLIB
  19. WidgetClass vendorShellWidgetClass = (WidgetClass) &vendorShellClassRec;
  20.  
  21. static void _XtVendorInitialize()
  22. {
  23.     transientShellWidgetClass->core_class.superclass =
  24.     (WidgetClass) &vendorShellClassRec;
  25.     topLevelShellWidgetClass->core_class.superclass =
  26.     (WidgetClass) &vendorShellClassRec;
  27. }
  28.  
  29. #define VENDORINIT _XtVendorInitialize();
  30.  
  31. #else
  32.  
  33. #define VENDORINIT /* as nothing */
  34.  
  35. #endif
  36.  
  37. #ifdef SUNSHLIB
  38. /*
  39.  * _XtInherit needs to be statically linked since it is compared against as
  40.  * well as called.
  41.  */
  42. void _XtInherit()
  43. {
  44.     extern void __XtInherit();
  45.     __XtInherit();
  46. }
  47. #endif
  48.  
  49. /*
  50.  * The following routine will be called by every toolkit
  51.  * application, forcing this file to be statically linked.
  52.  *
  53.  * Note: Both XtInitialize and XtAppInitialize call XtToolkitInitialize.
  54.  */
  55.  
  56. void XtToolkitInitialize()
  57. {
  58.     extern void _XtToolkitInitialize();
  59.     VENDORINIT
  60.     _XtToolkitInitialize();
  61. }
  62.  
  63. #if NeedFunctionPrototypes
  64. Widget 
  65. XtInitialize(
  66. _Xconst char* name,
  67. _Xconst char* classname,
  68. XrmOptionDescRec *options,
  69. Cardinal num_options,
  70. int *argc,
  71. String *argv
  72. )
  73. #else
  74. Widget 
  75. XtInitialize(name, classname, options, num_options, argc, argv)
  76. String name, classname;
  77. XrmOptionDescRec *options;
  78. Cardinal num_options;
  79. String *argv;
  80. int *argc;
  81. #endif
  82. {
  83.     extern Widget _XtInitialize();
  84.     VENDORINIT
  85.     return _XtInitialize (name, classname, options, num_options, argc, argv);
  86. }
  87.  
  88. #if NeedFunctionPrototypes
  89. Widget
  90. XtAppInitialize(
  91. XtAppContext * app_context_return,
  92. _Xconst char* application_class,
  93. XrmOptionDescRec *options,
  94. Cardinal num_options,
  95. int *argc_in_out,
  96. String *argv_in_out,
  97. String *fallback_resources,
  98. ArgList args_in,
  99. Cardinal num_args_in
  100. )
  101. #else
  102. Widget
  103. XtAppInitialize(app_context_return, application_class, options, num_options,
  104.         argc_in_out, argv_in_out, fallback_resources, 
  105.         args_in, num_args_in)
  106. XtAppContext * app_context_return;
  107. String application_class;
  108. XrmOptionDescRec *options;
  109. Cardinal num_options, num_args_in;
  110. int *argc_in_out;
  111. String *argv_in_out, * fallback_resources;     
  112. ArgList args_in;
  113. #endif
  114. {
  115.     extern Widget _XtAppInitialize();
  116.     VENDORINIT
  117.     return _XtAppInitialize (app_context_return, application_class, options,
  118.                  num_options, argc_in_out, argv_in_out, 
  119.                  fallback_resources, args_in, num_args_in);
  120. }
  121.  
  122. #if NeedVarargsPrototypes
  123. Widget
  124. XtVaAppInitialize(
  125.     XtAppContext *app_context_return,
  126.     _Xconst char* application_class,
  127.     XrmOptionDescList options,
  128.     Cardinal num_options,
  129.     int *argc_in_out,
  130.     String *argv_in_out,
  131.     String *fallback_resources,
  132.     ...)
  133. #else
  134. Widget XtVaAppInitialize(app_context_return, application_class, options,
  135.              num_options, argc_in_out, argv_in_out,
  136.              fallback_resources, va_alist)
  137.     XtAppContext *app_context_return;
  138.     String application_class;
  139.     XrmOptionDescList options;
  140.     Cardinal num_options;
  141.     int *argc_in_out;
  142.     String *argv_in_out;
  143.     String *fallback_resources;
  144.     va_dcl
  145. #endif
  146. {
  147.     va_list    var;
  148.     extern Widget _XtVaAppInitialize();
  149.  
  150.     VENDORINIT
  151.     Va_start(var, fallback_resources);
  152.     return _XtVaAppInitialize(app_context_return, application_class, options,
  153.                   num_options, argc_in_out, argv_in_out,
  154.                   fallback_resources, var);
  155. }
  156.  
  157. #else
  158.  
  159. #ifndef lint
  160. static int dummy;            /* avoid warning from ranlib */
  161. #endif
  162.  
  163. #endif /* SUNSHLIB or AIXSHLIB */
  164.  
  165. #if defined(SUNSHLIB) && !defined(SHAREDCODE)
  166.  
  167. int _XtInheritTranslations = 0;
  168.  
  169. extern CompositeClassRec compositeClassRec;
  170. WidgetClass compositeWidgetClass = (WidgetClass) &compositeClassRec;
  171.  
  172. extern ConstraintClassRec constraintClassRec;
  173. WidgetClass constraintWidgetClass = (WidgetClass) &constraintClassRec;
  174.  
  175. extern WidgetClassRec widgetClassRec;
  176. WidgetClass widgetClass = &widgetClassRec;
  177. WidgetClass coreWidgetClass = &widgetClassRec;
  178.  
  179. extern ObjectClassRec objectClassRec;
  180. WidgetClass objectClass = (WidgetClass)&objectClassRec;
  181.  
  182. extern RectObjClassRec rectObjClassRec;
  183. WidgetClass rectObjClass = (WidgetClass)&rectObjClassRec;
  184.  
  185. extern ShellClassRec shellClassRec;
  186. WidgetClass shellWidgetClass = (WidgetClass) &shellClassRec;
  187.  
  188. extern OverrideShellClassRec overrideShellClassRec;
  189. WidgetClass overrideShellWidgetClass = (WidgetClass) &overrideShellClassRec;
  190.  
  191. extern WMShellClassRec wmShellClassRec;
  192. WidgetClass wmShellWidgetClass = (WidgetClass) &wmShellClassRec;
  193.  
  194. extern TransientShellClassRec transientShellClassRec;
  195. WidgetClass transientShellWidgetClass = (WidgetClass) &transientShellClassRec;
  196.  
  197. extern TopLevelShellClassRec topLevelShellClassRec;
  198. WidgetClass topLevelShellWidgetClass = (WidgetClass) &topLevelShellClassRec;
  199.  
  200. extern ApplicationShellClassRec applicationShellClassRec;
  201. WidgetClass applicationShellWidgetClass = (WidgetClass) &applicationShellClassRec;
  202.  
  203. #endif /* SUNSHLIB */
  204.