mozilla

Compare Revisions

Building a component DLL

Change Revisions

Revision 61211:

Revision 61211 by BenjaminSmedberg on

Revision 61212:

Revision 61212 by Nickolay on

Title:
Building a component DLL
Building a component DLL
Slug:
Building_a_component_DLL
Building_a_component_DLL
Tags:
Sample_Makefiles, "Developing Mozilla", "Build documentation"
Sample_Makefiles, "Developing Mozilla", "Build documentation"
Content:

Revision 61211
Revision 61212
n8      Here is an example <tt>Makefile.in</tt> for building an XPCn8      Here is an example <tt>Makefile.in</tt> for building an XPC
>OM component library. In this example, all of the source files ar>OM component library. In this example, all of the source files ar
>e in the same directory.>e in the same directory. {{ :en/Standard_Makefile_Header() }}
9    </p>
10    <p>
11      {{wiki.template(':en/Standard_Makefile_Header')}}
t40    <p>t37    <ul>
38      <li>
41      <b>MODULE</b> should be set to a short name for this module39        <b>MODULE</b> should be set to a short name for this modu
> of code.>le of code.
42    </p>40      </li>
43    <p>41      <li>
44      <b>LIBRARY_NAME</b> should be set to the base name of the s42        <b>LIBRARY_NAME</b> should be set to the base name of the
>hared library that should be created for this module. You should > shared library that should be created for this module. You shoul
>not prepend "lib" or append any suffix such as "dll" to this name>d not prepend "lib" or append any suffix such as "dll" to this na
>.>me.<br>
45    </p>
46    <p>
47      If LIBRARY_NAME is longer than 8 characters, you should set43        If <code>LIBRARY_NAME</code> is longer than 8 characters,
> <b>SHORT_LIBNAME</b> to an 8 character or less name for this lib> you should set <b>SHORT_LIBNAME</b> to an 8 character or less na
>rary. This is to address limitations on Windows and OS/2. If LIBR>me for this library. This is to address limitations on Windows an
>ARY_NAME is 8 characters or less, you do not need to specify SHOR>d OS/2. If <code>LIBRARY_NAME</code> is 8 characters or less, you
>T_LIBNAME.> do not need to specify <code>SHORT_LIBNAME</code>.
48    </p>44      </li>
49    <p>45      <li>
50      <b>EXPORT_LIBRARY</b> should be set to 1 unless you want to46        <b>EXPORT_LIBRARY</b> should be set to 1 unless you want 
> make sure your module is a shared library even in a static build>to make sure your module is a shared library even in a static bui
>.>ld.
51    </p>47      </li>
52    <p>48      <li>
53      <b>IS_COMPONENT</b> should be set to 1 for all components.49        <b>IS_COMPONENT</b> should be set to 1 for all components
 >.
54    </p>50      </li>
55    <p>51      <li>
56      <b>MODULE_NAME</b> is used mainly for static builds, and sh52        <b>MODULE_NAME</b> is used mainly for static builds, and 
>ould match the module name used in your NS_IMPL_NSGETMODULE call.>should match the module name used in your <code>NS_IMPL_NSGETMODU
 >LE</code> call.
57    </p>53      </li>
58    <p>54      <li>
59      <b>REQUIRES</b> is a list of other modules whose header fil55        <b>REQUIRES</b> is a list of other modules whose header f
>es you need to include. dist/include/module_name is added to the >iles you need to include. <tt>dist/include/module_name</tt> is ad
>compiler include list for each module you specify in REQUIRES.>ded to the compiler include list for each module you specify in R
 >EQUIRES.
60    </p>56      </li>
61    <p>57      <li>
62      <b>CPPSRCS</b> lists the C++ files to compile in this direc58        <b>CPPSRCS</b> lists the C++ files to compile in this dir
>tory. You can use <b>CSRCS</b> to specify C files.>ectory. You can use <b>CSRCS</b> to specify C files.
63    </p>59      </li>
64    <p>60      <li>
65      <b>EXTRA_DSO_LDOPTS</b> has $(MOZ_COMPONENT_LIBS) added to 61        <b>EXTRA_DSO_LDOPTS</b> has <code>$(MOZ_COMPONENT_LIBS)</
>it. These are extra libraries and linker flags necessary for buil>code> added to it. These are extra libraries and linker flags nec
>ding components.>essary for building components.
62      </li>
66    </p>63    </ul>

Back to History