Commit Graph

33 Commits

Author SHA1 Message Date
Stefan Gehn 56bd6fac14 Enable ASLR and DEP on Windows builds
Always enable ASLR and DEP when building GKrellM on Windows. Since
GKrellM also does network communication bugs like buffer overflows and
the like may eventually allow remote code execution. By enabling these
build flags such attacks should be quite a bit more complicated
(although still not impossible).
2014-10-05 12:22:42 +02:00
Stefan Gehn b0b6b5d559 Share makefile rules and vars between client/server
Move all make variables and rules duplicated between gkrellm and
gkrellmd makefiles into a common file that can be included. This
avoids duplication and hopefully avoids the two makefiles getting out
of sync too much. This is also a preparation to ease overriding
toolchain binaries (compiler, linker, pkgconfig) as part of windows
cross compiling.

This change also puts the "ar" tool into a variable that can be
overridden if needed.

Please note that this change uses the GNU Make specific include
statement but AFAICS the makefiles already depend on GNU extensions in
other areas (":=" and "ifdef" are non-standard make syntax).
2014-10-05 12:18:35 +02:00
Stefan Gehn 6e3ee7db10 Port to GLib >= 2.32 GThread API
- Use g_thread_new instead of g_thread create
- Drop explicit call of g_thread_init, it is done implicitely by GLib
  since 2.32
- Since this bumps the minimum required GLib version add and extend the
  pkg-config based version checks to error out on older GLib versions
2014-07-12 22:45:08 +02:00
Stefan Gehn 4991b98879 Move win32 sensor code into own file
The window sysdep code is quite long by now and since I plan to add
more to it let's split things up to have smaller portions of code to
work on.
2014-07-09 22:06:18 +02:00
Stefan Gehn d33190cc0b Remove unsupported linker flags for windows builds
Do not use the default LINK_FLAGS value for windows builds, the default
"-E" linker option only causes warnings for MinGW since it's essentially
ignored by the linker.

The flag is also unneeded since linking plugins against the gkrellm
binary is not done on win32 so none of the gkrellm/gkrellmd functions
need to be exported, the API is manually exposed via the win32-specific
libgkrellm/libgkrellmd static libs.
2014-07-09 22:04:42 +02:00
Stefan Gehn da95bca5c5 Simplify setting default installation prefix
Just setting a default value for PREFIX should have the same result as
an explicit check for an empty INSTALLROOT variable.
2014-04-18 09:29:57 +02:00
Stefan Gehn eb0ded8d55 Use binary extension during gkrellm build
Honor the BINEXT variable in the gkrellm and gkrellmd target to enforce
building with the correct extension. This is needed for recent mingw-w64
cross toolchains since those do not automatically append ".exe" when
linking.
2014-04-18 09:29:27 +02:00
Stefan Gehn 8abd662cd6 Add missing include and link args for gmodule
Explicitely add needed include arguments as well as linker arguments
for gmodule. Before this change we relied on gmodule being an implicit
dependency pulled in via the gtk+-2.0 module, this does not seem to be
the case anymore with >=gdk-pixbuf-2.24 and >=pango-1.30.

Thanks for Alexandre Rostovtsev for bringing this up on the mailinglist
and for providing a first patch.

See also https://bugs.gentoo.org/show_bug.cgi?id=428532
2013-07-20 14:08:38 +02:00
Bill Wilson 50b126e085 Patch from Neil Booth: Add multiple CPU capability to CPU monitor for
Dragonfly.  Acquired dragonfly.c from web so could apply patch.
I have no clue why I never had a dragonfly.c.
2011-08-08 16:06:26 -05:00
Stefan Gehn c67cf611a6 - gkrellm.h. Bump maximum line-/item-length for config to 512 (needed for long disk names on Darwin).
- src/disk.c, server/monitor.c: Add gkrellm_disk_add_by_name() that allows creating disks with a custom label from sysdep code.
- src/Makefile, server/Makefile: Cleanup of darwin/darwin9/macosx targets. All custom variables are now set in src/Makefile and server/Makefile to allow easy building inside these subdirs. Removed very old link-flags which were used before OS X 10.3.
- All Makefiles: Remove unused GTK_CONFIG definitions, they were neither passed as an argument nor executed anywhere.
- Makefile: Update comments documenting Darwin and OS X targets (darwin, darwin9 and macosx)
- src/sysdeps/darwin.c: Use utmpx instead of deprecated utmp.
- src/sysdeps/darwin.c: Fix possible leak in gkrellm_sys_cpu_init(), pinfo was never free'd.
- src/sysdeps/darwin.c: Rewrite disk device enumeration and performance gathering. The previous implementation failed as soon as a single device contained no medium, resulting in no/wrong performance data for all subsequent devices. Also provides labels for krells based on real device-names (uses new gkrellm_disk_add_by_name()).
2010-09-23 15:31:24 +00:00
Stefan Gehn 8dbee76730 win32.c: Drop current working directory from DLL search path by calling SetDllDirectory() with an empty string. Avoids possible security problems, especially when loading plugins.
Makefile, win32.c: Load ntdll.dll and lookup used functions at runtime (safer for future windows version and fixes unintended linking against sscanf() from ntdll)
win32.c: Add gkrellm_sys_inet_cleanup() for proper unloading of iphlpapi.dll
2010-09-20 20:53:48 +00:00
Stefan Gehn d72d689c4c Merge with changes from gkrellm-2.3.5-pre.tar.bz2 2010-09-15 15:32:14 +00:00
Stefan Gehn 915d03ad66 Do not link against liblargeint on windows anymore. Allow overriding windres via environment variables (preparation for win64 builds) 2010-06-21 14:49:40 +00:00
Stefan Gehn bf40ec1d5d Allow passing linker flags via LDFLAGS in Makefile 2010-06-12 14:10:52 +00:00
Stefan Gehn 53e036319d Revert accidental commit for Makefile 2010-05-29 17:35:38 +00:00
Stefan Gehn bc8303d229 - svn-ignore built executables 2010-05-29 17:34:38 +00:00
Stefan Gehn 41370ff5d4 - src/Makefile: Rename SMC_LIBS to X11_lIBS and add -lX11 (should fix http://bugs.debian.org/554553)
- Makefile: Drop duplicating SMC_LIBS in "netbsd" targets by calling src/Makefile with "netbsd" target instead of using the generic "gkrellm" target
2010-01-03 17:36:15 +00:00
Stefan Gehn 25076e8a0f - Merge in missing changes from gkrellm-2.3.3 release
- Revert gkrellm version header change, there are too many places in code/docs containing the version number, one more or less will not hurt
- configure: Make configure shell script write configure.mk and move logic for compiler and linker flags into configure
- configure: Also search openssl and libntlm via pkg-config and fall back to hardcoded library names for linking if not found
- Makefile: Workaround environment-bugs in win32 toolchain by switching from "override CC" to a normal makefile rule for building .o from .c files
2009-12-27 11:48:30 +00:00
Stefan Gehn a9c193f84c Merge with gkrellm-2.3.3 from upstream 2009-12-26 17:08:15 +00:00
Stefan Gehn a7ea973741 - Win32: enumerate users using WTS-API. NOTE: This makes GKrellM require Win XP or newer, code for Win 2k is still present though (depends on value of _WIN32_WINNT) 2009-12-26 15:11:13 +00:00
Stefan Gehn 2cf2afc458 - comment out all options in default gkrellmd.conf so it can be installed without causing any trouble
- move gkrellm[d] version into its own header
- win32: determine version from headers instead of hardcoding them in the .rc files
2008-10-29 16:02:13 +00:00
Stefan Gehn a2d37af516 - get libntlm cflags/libs from pkg-config 2008-10-04 19:08:15 +00:00
Stefan Gehn 804e456c03 - Merge in gkrellm-2.3.2 release changes 2008-10-04 08:55:47 +00:00
Stefan Gehn b067125f1c - lower minimum required gtk+ version to 2.4 by removing the (hopefully) only call to a gtk+-2.6 function
- merge in translation changes from gkrellm-2.3.2 snapshot (forgot pl.po)
2008-10-03 12:06:33 +00:00
Stefan Gehn d8c30ffddb - Bump copyright year, version information and minimum gtk+ version in various files 2008-09-30 17:37:03 +00:00
Stefan Gehn e03fa87217 - Makefile: Add GTK+ version check (>= 2.6) 2008-09-30 14:42:40 +00:00
Stefan Gehn 6fc301ca06 - merge in changes from gkrellm 2.3.2 snapshot (fetched 2008-09-27) 2008-09-28 18:06:24 +00:00
Stefan Gehn 37c7f836ef - make use of new logging system in gkrellm
- removed trayicon on windows as it did not serve any purpose
- win32: load locale files from installation path
- sysdeps/win32.c: massively decreased length by refactoring
- sysdeps/win32.c: use unicode function-calls for better compatibility with non-ascii locales
- sysdeps/win32.c: format debug and warning messages that contain win32 error-codes and provide extensive error handling
- sysdeps/win32.c: completely redid sensor-handling that allows supporting multiple sensor-backends at the same time (like on unix) and optionally launch sensor-apps if they're in $PATH. Sensor detection is now properly done at gkrellm-startup
- sysdeps/win32.c: support CoreTemp application for getting cpu temperatures
- sysdeps/win32.c: proc stats are finally working. Load-computation is based on the number of processes in the processor waiting-queue
- sysdeps/win32.c: properly count number of logged in users by only counting "interactive logins"
- sysdeps/win32.c: memory stats now also monitor cache bytes on winxp and newer (not available on win2k)
- sysdeps/win32.c: system name updated with some new windows versions. Also allow proper OS-detection on 64bit-OS when running as a 32bit-app
2008-09-28 17:27:06 +00:00
Stefan Gehn f0bc117fb4 - gkrellmd: clean up service install/uninstall, also start the service after install and stop a running service prior to uninstall
- Makefile: append binary extension on platforms that need it (i.e. win32), needed for new MSYS build-environment
2008-03-25 18:42:25 +00:00
Stefan Gehn b5ad32c190 - Merge in changes for macosx with native gtk+ 2008-02-10 13:30:48 +00:00
Stefan Gehn 2587c4a1df - Fix make dependencies for sysdeps folder (win32.c was missing) 2008-02-01 19:26:56 +00:00
Stefan Gehn 87b9b46b37 - own win32 resource-file for gkrellm (client)
- demand admin-rights on startup (done via manifest file)
2008-02-01 19:13:51 +00:00
Stefan Gehn 81d79d6568 2008-02-01 18:36:15 +00:00