xaw3d.txt alternative

Jon jongrosshart at sbcglobal.net
Wed Mar 2 03:22:43 PST 2005


I'm not really interested in adopting the existing Xaw3d hint really, 
but I think I've come up with another way to go about it; one that 
doesn't require editing header files by hand. This package took me over 
3 hours to get ironed out, so hopefully someone might find this usefull. 
"xmkmf" will make the actual Makefile. Is this a problem? I've built it 
a dozen times with the same results. Will everyone else end up with the 
same makefile by running that command? I would REALLY appreciate any 
input on this. So please.. Give it a try and let me know if you have any 
problems... If it's aceptable to all, I'll submit the hint and patch 
respectively...


First, the patch... XawI18n.h was taken from Slackware. Makefile I did 
myself because the make kept bombing out on me. It wants the header 
files in xc/lib/Xaw3d/X11/Xaw3d... O.k.. Fine. There they are.


--- Xaw3d.orig/Makefile	2005-03-02 00:10:58.000000000 -0500
+++ Xaw3d/Makefile	2005-03-02 00:31:47.000000000 -0500
@@ -1052,7 +1052,7 @@

  #  EXTRA_DEFINES = -DARROW_SCROLLBAR -DUSEGRAY

-#  EXTRA_INCLUDES = -I.
+EXTRA_INCLUDES = -I.

  HEADERS = 	AllWidgets.h 	AsciiSink.h 	AsciiSinkP.h 	AsciiSrc.h 
AsciiSrcP.h 	AsciiText.h 	AsciiTextP.h 	Box.h 	BoxP.h 	Cardinals.h 
Command.h 	CommandP.h 	Dialog.h 	DialogP.h 	Form.h 	FormP.h 	Grip.h 
GripP.h 	Label.h 	LabelP.h 	Layout.h 	LayoutP.h 	List.h 	ListP.h 
MenuButton.h 	MenuButtoP.h 	MultiSrc.h 	MultiSrcP.h 	MultiSink.h 
MultiSinkP.h 	Paned.h 	PanedP.h 	Panner.h 	PannerP.h 	Porthole.h 
PortholeP.h 	Repeater.h 	RepeaterP.h 	Reports.h 	Scrollbar.h 
ScrollbarP.h 	Simple.h 	SimpleP.h 	SimpleMenu.h 	SimpleMenP.h 	Sme.h 
SmeP.h 	SmeBSB.h 	SmeBSBP.h 	SmeLine.h 	SmeLineP.h 	SmeThreeD.h 
SmeThreeDP.h 	StripChart.h 	StripCharP.h 	Template.c 	Template.h 
TemplateP.h 	Text.h 	TextP.h 	TextSink.h 	TextSinkP.h 	TextSrc.h 
TextSrcP.h 	ThreeD.h 	ThreeDP.h 	Toggle.h 	ToggleP.h 	Tree.h 	TreeP.h 
VendorEP.h 	Viewport.h 	ViewportP.h 	XawImP.h 	XawInit.h

@@ -1153,17 +1153,17 @@
  	$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) llib-l$(LIBNAME).ln 
$(DESTDIR)$(LINTLIBDIR)/llib-l$(LIBNAME).ln

  includes:: $(HEADERS)
-	@if [ -d $(BUILDINCDIR)/X11/Xaw3d ]; then \
+	@if [ -d X11/Xaw3d ]; then \
  		set +x; \
  	else \
-		if [ -h $(BUILDINCDIR)/X11/Xaw3d ]; then \
-			(set -x; rm -f $(BUILDINCDIR)/X11/Xaw3d); \
+		if [ -h X11/Xaw3d ]; then \
+			(set -x; rm -f X11/Xaw3d); \
  		fi; \
-		(set -x; $(MKDIRHIER) $(BUILDINCDIR)/X11/Xaw3d); \
+		(set -x; $(MKDIRHIER) X11/Xaw3d); \
  	fi
-	@(set -x; cd $(BUILDINCDIR)/X11/Xaw3d && for i in $(HEADERS); do \
+	@(set -x; cd X11/Xaw3d && for i in $(HEADERS); do \
  		$(RM) $$i; \
-		$(LN) $(BUILDINCTOP)/../../$(CURRENT_DIR)/$$i .; \
+		$(LN) ../../$$i ; \
  	done)

  install:: $(HEADERS)
--- Xaw3d.orig/XawI18n.h	Tue Oct 15 07:41:26 1996
+++ Xaw3d/XawI18n.h	Mon Feb 25 17:02:05 2002
@@ -27,12 +27,18 @@

  ********************************************************/

+#if 0
  #ifdef HAS_WCTYPE_H
  #include <wctype.h>
+#if !defined(__linux__)
  #include <widec.h>
+#endif
+#endif
  #define wcslen(c) wslen(c)
  #define wcscpy(d,s) wscpy(d,s)
  #define wcsncpy(d,s,l) wsncpy(d,s,l)
+#if 0
+#endif
  #endif


Here is how I build:

tar xzvf Xaw3d-1.5.tar.gz
cd xc/lib/Xaw3d
xmkmf
patch -Np1 -i /path/to/patch_from_above.diff
make includes
make
make install


jgrosshart at gmail.com



More information about the hints mailing list