Re: MinGW Build



On Thursday 01 December 2005 02:43 pm, muppet wrote:
Timm Murray said:
<>
----
dlltool --def Gtk2.def --output-exp dll.exp
g++ -o blib\arch\auto\Gtk2\Gtk2.dll -Wl,--base-file -Wl,dll.base -mdll -s
-L"e:\perl-5.8.7\lib\CORE" -L"e:\msys\1.0\mingw\lib" xs/Gdk.o
xs/GdkColor.o xs/GdkCursor.o xs/GdkDnd.o xs/GdkDrawable.o xs/GdkEvent.o
xs/GdkGC.o xs/GdkInput.o xs/GdkKeys.o xs/GdkPixbuf.o xs/GdkPixbufLoader.o
xs/GdkPixmap.o xs/GdkProperty.o xs/GdkRegion.o xs/GdkRgb.o
xs/GdkSelection.o xs/GdkTypes.o xs/GdkVisual.o xs/GdkWindow.o xs/Gtk2.o
xs/GtkAccelGroup.o xs/GtkAccelLabel.o xs/GtkAccelMap.o xs/GtkAdjustment.o
xs/GtkAlignment.o xs/GtkArrow.o xs/GtkAspectFrame.o xs/GtkBin.o
xs/GtkBox.o xs/GtkButton.o xs/GtkButtonBox.o xs/GtkCalendar.o
xs/GtkCellEditable.o xs/GtkCellRenderer.o
xs/GtkCellRendererPixbuf.o xs/GtkCellRendererText.o
xs/GtkCellRendererToggle.o xs/GtkCheckButton.o xs/GtkCheckMenuItem.o
xs/GtkColorSelection.o xs/GtkColorSelectionDialog.o xs/GtkCombo.o
xs/GtkContainer.o xs/GtkCurve.o xs/GtkDialog.o xs/GtkDnd.o
xs/GtkDrawingArea.o xs/GtkEditable.o xs/GtkEntry.o xs/GtkEventBox.o
xs/GtkFileSelection.o xs/GtkFixed.o xs/GtkFontSelection.o xs/GtkFrame.o
xs/GtkGC.o xs/GtkGammaCurve.o xs/GtkHBox.o xs/GtkHButtonBox.o
xs/GtkHPaned.o xs/GtkHRuler.o xs/GtkHScale.o xs/GtkHScrollbar.o
xs/GtkHSeparator.o xs/GtkHandleBox.o xs/GtkIconFactory.o xs/GtkImage.o
xs/GtkImageMenuItem.o xs/GtkInputDialog.o xs/GtkInvisible.o xs/GtkItem.o
xs/GtkItemFactory.o xs/GtkLabel.o xs/GtkLayout.o xs/GtkList.o
xs/GtkListItem.o xs/GtkListStore.o xs/GtkMenu.o xs/GtkMenuBar.o
xs/GtkMenuItem.o xs/GtkMenuShell.o
xs/GtkMessageDialog.o xs/GtkMisc.o xs/GtkNotebook.o xs/GtkObject.o
xs/GtkOptionMenu.o xs/GtkPaned.o xs/GtkPlug.o xs/GtkProgressBar.o
xs/GtkRadioButton.o xs/GtkRadioMenuItem.o xs/GtkRange.o xs/GtkRc.o
xs/GtkRuler.o xs/GtkScale.o xs/GtkScrolledWindow.o xs/GtkSelection.o
xs/GtkSeparatorMenuItem.o xs/GtkSizeGroup.o xs/GtkSocket.o
xs/GtkSpinButton.o xs/GtkStatusbar.o xs/GtkStock.o xs/GtkStyle.o
xs/GtkTable.o
xs/GtkTearoffMenuItem.o xs/GtkTextChildAnchor.o xs/GtkTextBuffer.o
xs/GtkTextIter.o xs/GtkTextMark.o xs/GtkTextTag.o xs/GtkTextTagTable.o
xs/GtkTextView.o xs/GtkToggleButton.o xs/GtkToolbar.o xs/GtkTooltips.o
xs/GtkTreeDnd.o xs/GtkTreeModel.o xs/GtkTreeModelSort.o
xs/GtkTreeSelection.o xs/GtkTreeSortable.o xs/GtkTreeStore.o
xs/GtkTreeView.o
xs/GtkTreeViewColumn.o xs/GtkVBox.o xs/GtkVButtonBox.o xs/GtkVPaned.o
xs/GtkVRuler.o xs/GtkVScale.o xs/GtkVScrollbar.o xs/GtkVSeparator.o
xs/GtkViewport.o xs/GtkWidget.o xs/GtkWindow.o xs/PangoAttributes.o
xs/PangoContext.o xs/PangoFont.o xs/PangoFontset.o xs/PangoFontMap.o
xs/PangoLayout.o xs/PangoRenderer.o xs/PangoScript.o xs/PangoTabs.o
xs/PangoTypes.o xs/GdkDisplay.o xs/GdkDisplayManager.o xs/GdkScreen.o
xs/GtkClipboard.o xs/GtkAction.o xs/GtkActionGroup.o xs/GtkCellLayout.o
xs/GtkColorButton.o xs/GtkComboBox.o xs/GtkComboBoxEntry.o
xs/GtkEntryCompletion.o xs/GtkExpander.o xs/GtkFileChooser.o
xs/GtkFileChooserDialog.o xs/GtkFileChooserWidget.o xs/GtkFileFilter.o
xs/GtkFontButton.o xs/GtkIconTheme.o xs/GtkRadioAction.o
xs/GtkRadioToolButton.o xs/GtkSeparatorToolItem.o xs/GtkToggleAction.o
xs/GtkToggleToolButton.o xs/GtkToolButton.o xs/GtkToolItem.o
xs/GtkTreeModelFilter.o xs/GtkUIManager.o xs/GdkPango.o
xs/GtkAboutDialog.o xs/GtkCellRendererCombo.o
xs/GtkCellRendererProgress.o xs/GtkCellView.o xs/GtkFileChooserButton.o
xs/GtkIconView.o xs/GtkMenuToolButton.o -Wl,--image-base,0x69100000 
E:\perl-5.8.7\site\lib\auto\Glib\Glib.dll E:
\perl-5.8.7\lib\CORE\libperl58.a e:\msys\1.0\mingw\lib\libgdi32.a e:

Erm, where did the --image-base argument come from?  Does it belong with
the libperl58.a arg?

Not sure, but I've seen a similar argument when building other xs modules.


\msys\1.0\mingw\lib\libuser32.a e:\msys\1.0\mingw\lib\libgdi32.a e:
\msys\1.0\mingw\lib\libwinspool.a e:\msys\1.0\mingw\lib\libcomdlg32.a e:
\msys\1.0\mingw\lib\libadvapi32.a e:\msys\1.0\mingw\lib\libshell32.a e:
\msys\1.0\mingw\lib\libole32.a e:\msys\1.0\mingw\lib\liboleaut32.a e:
\msys\1.0\mingw\lib\libnetapi32.a e:\msys\1.0\mingw\lib\libuuid.a e:
\msys\1.0\mingw\lib\libws2_32.a e:\msys\1.0\mingw\lib\libmpr.a e:
\msys\1.0\mingw\lib\libwinmm.a e:\msys\1.0\mingw\lib\libversion.a e:

I'm fairly certain that a few of these are unnecessary.

\msys\1.0\mingw\lib\libodbc32.a dll.exp -lgtk-win32-2.0 -lgdk-win32-2.0

                                  ^^^^^^^
Is that actually necessary?  What's in the exp file?

I'm fairly certain it's needed.  It's created by dlltool from the Gtk2.def.  I 
know .exp files are usually used during the linking step of xs modules, and 
they have something to do with what symbols DLLs will export.  For kicks, I 
took the dll.exp out of the build command, but it still gave the same error.

The dll.exp file itself is binary.  The dlltool command builds it from 
Gtk2.def, which looks like this:

----
EXPORTS
  gtk2perl_menu_position_func
  _gtk2perl_menu_position_func = gtk2perl_menu_position_func
  gtk2perl_new_gtkobject
  _gtk2perl_new_gtkobject = gtk2perl_new_gtkobject
  gtk2perl_read_gtk_target_entry
  _gtk2perl_read_gtk_target_entry = gtk2perl_read_gtk_target_entry
  newSVGdkAtom
  _newSVGdkAtom = newSVGdkAtom
  newSVGdkBitmap
  _newSVGdkBitmap = newSVGdkBitmap
  newSVGdkBitmap_noinc
  _newSVGdkBitmap_noinc = newSVGdkBitmap_noinc
  newSVGdkGCValues
  _newSVGdkGCValues = newSVGdkGCValues
  newSVGdkGeometry
  _newSVGdkGeometry = newSVGdkGeometry
  newSVGdkPixbufFormat
  _newSVGdkPixbufFormat = newSVGdkPixbufFormat
  newSVGtkTargetEntry
  _newSVGtkTargetEntry = newSVGtkTargetEntry
  newSVGtkTargetList
  _newSVGtkTargetList = newSVGtkTargetList
  newSVPangoRectangle
  _newSVPangoRectangle = newSVPangoRectangle
  SvGdkAtom
  _SvGdkAtom = SvGdkAtom
  SvGdkGCValues
  _SvGdkGCValues = SvGdkGCValues
  SvGdkGeometry
  _SvGdkGeometry = SvGdkGeometry
  SvGdkGeometryReal
  _SvGdkGeometryReal = SvGdkGeometryReal
  SvGdkPixbufFormat
  _SvGdkPixbufFormat = SvGdkPixbufFormat
  SvGtkTargetEntry
  _SvGtkTargetEntry = SvGtkTargetEntry
  SvGtkTargetList
  _SvGtkTargetList = SvGtkTargetList
  boot_Gtk2
  _boot_Gtk2 = boot_Gtk2
----

Attachment: pgpfcXFcTkUNU.pgp
Description: PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]