Commit Graph

38 Commits

Author SHA1 Message Date
Lev Kujawski 356ac2f327 Purge unused Freetype dependency from CDE
config/cf/{DragonFly,OpenBSD,darwin}.cf: Remove Freetype imake settings
config/cf/darwinLib.tmpl: Do not link against Freetype
debian/control: Remove Freetype and Xft dependencies
*/Imakefile: Purge Freetype includes

lib/DtWidget/ComboBoxP.h
lib/DtWidget/SpinBoxP.h
programs/dtfile/ChangeDirP.c
programs/dtlogin/vgcallback.c
    Undefine USE_XFT so Motif 2.3 doesn't pull in Freetype

CDE included Freetype and Xft solely to satisfy builds of Motif with
Xft support enabled. However, as CDE only supports bitmap fonts, this
dependency was entirely superfluous and unnecessarily broke backwards
compatibility with older systems.
2021-06-02 19:56:26 -06:00
Lev Kujawski a6ea2a2d52 Centralize catgets() calls through MsgCat
CDE has relied upon catgets() implementations following a relaxed
interpretation of the XPG internationalization standard that ignored
-1, the standard error value returned by catopen, as the catalog
argument. However, this same behavior causes segmentation faults with
the musl C library.

This patch:

- Centralizes (with the exception of ToolTalk) all calls to catopen(),
  catgets(), and catclose() through MsgCat within the DtSvc library.
- Prevents calls to catgets() and catclose() that rely upon
  undefined behavior.
- Eliminates a number of bespoke catgets() wrappers, including multiple
  redundant caching implementations designed to work around a design
  peculiarity in HP/UX.
- Eases building CDE without XPG internationalization support by providing
  the appropriate macros.
2021-06-02 19:55:15 -06:00
Jon Trulson ece5c0ea14 Merge branch 'master' into autotools-conversion
Lost the ksh93 submodule so will re-add in a later commit.
2021-01-30 19:04:10 -07:00
Jon Trulson 90e61dda5f Merge branch 'master' into autotools-conversion 2020-11-24 16:53:24 -07:00
Chase b46cfa7876 Remove redundant hourglass functions 2020-01-26 12:09:12 -07:00
Jon Trulson 152f5c9a88 Merge branch 'master' into autotools-conversion after utf8-conversion 2019-11-19 11:44:33 -07:00
Jon Trulson 82059bf240 Merge branch 'master' into autotools-conversion after 2.3.1 release 2019-11-16 16:35:56 -07:00
Jon Trulson 6debd5996e Delete cppfile.inc, don't need it anymore 2019-10-30 19:48:04 -06:00
Jon Trulson 61ab4a5b95 DtWidget: make it build, change include/cppfile.inc a bit
cppfile.inc - don't set BUIT_SOURCES or CLEANFILES here as they
overwrite (or in case of the CLEANFILES +=...) ignore the settings.
Do those in the Makefile.am always.

We still need a better way to preprocess generic files.  cppfile.inc
will only work for one file per Makefile...
2019-10-26 15:05:52 -06:00
Jon Trulson 056144488a DtSearch: get it to build, fix up some confusion
There are/were two dproto.h files, one in DtSearch, one in raima.  The
one in raima is the one we want, so replace the global Dt/dproto.h
with it.  Also correct a prototype declaration error in that file.

Delete the dproto.h file in DtSearch, it's garbage and unused.

Next, redo the way yacc is used.  Autotools does "the right thing" by
simply including the .y file in *_SOURCES and using
BUILT_SOURCES/CLEANFILES to manage it.  No need for special rules to
handle yacc and lex.
2019-10-26 14:13:19 -06:00
Jon Trulson 647d0ae96a DtXinerama.h header file - moved to main include/ dir 2019-10-25 17:52:20 -06:00
Jon Trulson 369308b737 The great includes migration of 2019 (autotools)
Ok - so one of the steps in building CDE is an early phase called the
includes phase (make includes).  At this point, all of the public
header files are exported to exports/include/Dt, DtI, ...

Then, the software is built using that include dir.

This of course does not work in autotools.  Much of the software does
things like #include <Dt/something.h>, so in order for the build to
succeed, this behavior must be represented/replicated in some way.

It seems the usual way of dealing with this is to place all public
headers (and in some projects, ALL headers) into a toplevel include
directory.

We now do this for all public headers - they have been moved from
wherever they were and placed in the appropriate spot in includes/

This will break the Imake 'make includes' phase unless the Imakefiles
are fixed (remove the HEADERS = stuff, and the incdir defines).  This
has not been done at this point since in reality, once autotools works
properly, there will be no need for the Imake stuff anymore, and I
intend to get rid of it.

This is just a warning for now - Imake builds in this tree will now
fail at the 'includes' stage.

This commit is only the migration.  In upcoming commits, libtt will be
fixed so that the hack being used before to get around this problem is
removed as there will no longer be any need.

And then the autotools work continues...
2019-10-25 17:01:34 -06:00
Jon Trulson bb4a2c7694 configure/Makefiles for TT: many fixups
Redo the way the main CDE libs are specified in configure.ac... The
current way could not work due to evaluation issues, and the fact that
variables like $srcdir and the like are only valid in Makefiles, not
configure.

Use @LIBNAME@ rather then $(LIBNAME) in Makefile.am files - this way
the location is always evaluated when it's run, not in configure -
which can't work for a variety of reasons.

Got some of the TT binaries to build.

Made a new include/cppfile.inc file that can be used to pre-process
files.  The downside is that currently you can only pre-process one
file at a time per Makefile.  Something more robust is needed, but at
least tt/bin/shell now builds.  Will need to come up with a better way.
2019-10-24 20:06:39 -06:00
Chase ab15f92fbe include: add makefile 2019-10-23 15:34:19 -06:00
Chase 4d7f9df692 Use iconv on linux 2019-01-14 10:48:28 -07:00
chase dd68514e4f Remove hpversion.h from repository
This patch removes hpversion.h from the repository, this also untangles a
lot of ifdef mess. This closes bug CDExc19524.
2018-10-06 17:00:38 -06:00
Ulrich Wilkens 885b65a09a Fixes for OpenBSD 2018-05-31 21:48:07 -06:00
chase 4f5e7fe5e3 Use POSIX macros for linux 2018-05-24 18:22:55 -06:00
chase 164e695cd0 remove OSF1 support 2018-05-24 14:25:26 -06:00
chase 07900bd93b Remove Unixware and openserver support 2018-05-20 12:13:07 -06:00
chase 8a4f389634 Remove UXPDS support 2018-05-15 20:27:22 -06:00
chase 3ccf3a8b86 Add missing license headers on *.hh files and others 2018-05-12 15:49:13 -06:00
chase 1fe5a550b2 Fix typo in license headers 2018-04-28 12:30:20 -06:00
alx 2e5bd045ed dtwm: Resolved some compiler warnings 2016-04-18 19:16:48 -06:00
Ulrich Wilkens c3f74eec17 FreeBSD 10 clang port 2014-07-27 12:32:35 -06:00
Pascal Stumpf 7e0a9517e3 Silence lots of warnings in lib/DtHelp.
* 64bit warnings
* Missing prototypes
* explicit parentheses / brackets

There's still some work to be done, but, as always, it's a start ...
2013-07-22 17:19:13 -06:00
Pascal Stumpf 0c165f56f5 kill a few more warnings in DtPrint 2013-07-22 17:15:34 -06:00
Pascal Stumpf dc0e8ea74d Kill most warnings in lib/DtTerm.
Mostly missing headers, explicit parentheses and new prototypes.

Some Caveats:
* I haven't compile-tested the SVR4 getpty file, it might need another tweak
* There were operator precedence bugs in TermPrimCursor.c and TermPrimRender.c
  (^ vs. !=).  This might change behaviour, but at least I haven't experienced
  any crashes ...
* This adds a little more dependencies for include ordering, but unless we
  want to play the "headers that include headers that include headers..." game,
  this is unavoidable.
2013-07-22 17:12:07 -06:00
Jon Trulson f40368caa2 XmPrivate.h: never try to build this automatically.
XmPrivate must be generated manually.  For this you work, you must
have a freshly compiled openmotif tree, and MLIBSRC must be pointing
to it.

Otherwise, it's possible during the includes phase for an attempt to
be made to regenerate this file, which will fail on the vast majority
of systems out there.

So, to regenerate,

cd include/Xm
rm XmPrivate.h
make XmPrivate.h
2012-09-29 20:46:27 -06:00
Marcin Cieslak 27bc7d6bec dtcreate: Add missing prototypes and more (64-bit)
- Fix missing prototypes
- Fix some 64-bit related problems (XtVaGetValues)
- Fix crash on dtcreate startup in create_applicationShell1()
- Add XmeFlushIconFileCache() prototype from <Xm/IconFileP.h>
2012-09-29 20:28:45 -06:00
Marcin Cieslak 3eaeffaf7e XmPrivate.h: Avoid whitespace problems (IMPROVED)
When applying a patch, "git am" strips
trailing whitespace, although they are
present in the git formatted-patch.

This way the committed file will be
slightly different than the file re-generated
by extractprototype.h

It shouldn't hurt, but next run of
extractprototype.h will add trailing spaces
again and the resulting diff on XmPrivate.h
will include more changes than actually
needed.

This may break some viscious circle after
applying the patch, so enabling regeneration
on LinuxArchitecture again.

This patch does not add XmeFlushIconFileCache()
needed by dtcreate.
2012-09-29 20:28:43 -06:00
Jon Trulson 9b77aa08b4 Xm/Imakefile: never try to regen XmPrivate.h on linux systems. It will always fail. 2012-09-18 10:14:33 -06:00
Marcin Cieslak 1079b56422 dtfile: Add missing prototypes
Add missing prototypes and header files to the dtfile
code in order to move closer towards 64-bit compatibility.

Extract the following functions from Motif internal headers:

_XmGetWidgetExtData
_XmRecordEvent
_XmStringUngenerate
_XmTextFieldSetDestination
_XmGetActiveTopLevelMenu

Extract manually prototypes of the obsolete Motif interface:
_XmHighlightBorder
_XmUnhighlightBorder

Remove XmPrivate.h if extractprototype.awk fails

Make the following header files available via -I:
	codelibs/boolean.h
	codelibs/pathutils.h
	codelibs/shellutils.h
and remove shellutils.h from dtwm directory.
2012-09-18 09:59:11 -06:00
Jon Trulson 274bea6c1a include: remove includes:: XmPrivate.h from includes Imakefile
Having this dependancy in here is a problem.  Depending on how the src
is packaged, or, unpacked, an attempt could be made to regenerate this
file, which cannot succeed unless imports/motif is setup to point to a
compiled motif tree.

This file can be manually regenerated by removing XmPrivate.h, and then
doing a 'make XmPrivate.h' in the include/Xm dir.
2012-08-30 20:23:33 -06:00
Marcin Cieslak 8a57173ec2 Introduce <Xm/XmPrivate.h>
We need ANSI C prototypes of certain Motif
functions that are not published in the official
header files.

<Xm/XmPrivate.h> header file contains
the prototypes extracted from the Motif source.

To re-create <Xm/XmPrivate.h>:

1) Make sure you have sources of libXm
(lib/Xm directory of the Motif distribution)
accessible via imports/motif/lib/Xm

2) rm include/Xm/XmPrivate.h

3) make includes
2012-08-30 19:43:11 -06:00
Pascal Stumpf 3d5a492038 OpenBSD fixes for DtPrint and csa. 2012-08-10 06:18:28 -06:00
Peter Howkins c884521619 Add GNU LGPL headers to all .c .C and .h files 2012-03-10 18:58:32 +00:00
Peter Howkins 83b6996daa Initial import of the CDE 2.1.30 sources from the Open Group. 2012-03-10 18:21:40 +00:00