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 

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 @@



  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 @@

  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); \
-	@(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 ; \

  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>
  #define wcslen(c) wslen(c)
  #define wcscpy(d,s) wscpy(d,s)
  #define wcsncpy(d,s,l) wsncpy(d,s,l)
+#if 0

Here is how I build:

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

jgrosshart at gmail.com

More information about the hints mailing list