Commit Graph

27 Commits

Author SHA1 Message Date
Patrick Georgi 7ab683d29a handle missing return values 2025-12-18 22:58:26 +01:00
Patrick Georgi 1b852f19a5 Remove uses of prototype argument hiding macros
Modern compilers don't use accept them, they _want_ complete prototypes.
2025-12-18 22:58:26 +01:00
Patrick Georgi 3947facfa2 Remove trailing newlines 2025-12-18 22:58:24 +01:00
hyousatsu f0123efa84 Fix some warnings. 2024-07-21 00:43:27 +00:00
hyousatsu 760d36bfe9 dtlogin: use sessreg to manage utmp/wtmp. 2023-03-27 08:48:27 +00:00
Chase 45cee195bd Generify source code
Previously we would fail in some parts of the code if we did not have a
premade configuration, now we use any code that was marked as Linux, BSD and
Solaris as our basis in order to support building unknown Unix systems.
2022-08-06 11:31:51 -06:00
Chase edf4319548 Discontinue HPUX support 2022-07-23 17:49:33 -06:00
Peter Howkins 1f5ec7f034 Allow the window manager to handle centered, fit and fill backdrops 2022-07-06 17:00:49 -06:00
Jon Trulson 931bcaa494 dtsr, DtSearch: finish removing need for BYTE_SWAP define 2021-12-21 16:42:29 -07:00
Jon Trulson 3a0c2ae879 Move DtXinerama.h and PamSvc.h into include/Dt/ 2021-12-21 16:42:29 -07:00
Jon Trulson a5a2d937cb Automate versioning for CDE, set current version to 2.4.0b
Previously in the imake world, changing the CDE version required hand
editing a handful of files.

This commit makes these files into ".in" files.  configure.ac now
holds CDE version information -- both in the AC_INIT() call and in the
CDE_VERSION_* variables a few lines down.

Changing the CDE version now involves editing those two locations in
configure.ac only.

Thereafter, a configure run will replace version information in the
following files with the current CDE version:

copyright
doc/common/help/HELPEnt.sgm
include/Dt/Dt.h
lib/tt/bin/ttauth/ttauth.man

This also causes a catch-22 problem with ToolTalk.  So the
tooltalk.inc file is gone and the relevant TT Makefiles have been
modified to set and define the TT version in those Makefiles that
actually use it.
2021-12-13 16:43:42 -07:00
Jon Trulson b900f8a36d DtPamSvc: move PamSvc.h to include/Dt/ 2021-12-10 14:08:02 -07:00
Liang Chang c47e290379 Remove DtXpm. 2021-10-18 10:10:20 -06:00
OBATA Akio 16fe76ed65 Fix to include system header files for using functions 2021-10-08 14:40:56 +09:00
Jon Trulson 31c2e82eea include: move dtinfo/DtMmdb/oliasdb/Mmdb.h -> include/Dt/Mmdb.h 2021-07-17 16:52:33 -06:00
Jon Trulson 727baab329 Bump version to 2.4.0a for upcoming merge 2021-07-03 17:24:22 -06:00
Jon Trulson 5a03b6a5e8 Merge branch 'master' into autotools-conversion 2021-07-03 16:56:54 -06:00
Jon Trulson 49adbfb25d Bump devel version to 2.3.2c 2021-06-02 19:56:30 -06:00
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 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 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