mirror of
https://github.com/fluffos/fluffos
synced 2026-08-12 18:26:06 -04:00
* <core>(autotools): overhaul
Convenience patch:
- added entries for vim generated files to .gitignore
- added driver.exe{,.old} to src/.gitignore
- added'PROG_DUMP to src/testsuite/.gitignore
Overhaul:
- upgrade to autoconf 2.69
- added #ifdef/#endif wrapper to configure.h as protection against
multiple includes (autoheader)
- added a little eye candy
- added section for AC_ARG_ENABLE and AC_ARG_WITH
- added some comments concerning the relevance behind the entrys
- added some missing (conditional) tests
- added some new entrys
- added still more eye candy
- allow for name transformations of installed programs
- build.FluffOS now may be called from any directory, as before all by
configure generated files will reside in the current working directory
(build directory)
- configure now generates a version string according either tarball
version or git version (taged) and the diversion of the current
branch. (still needs Makefile support)
- configure now optionaly stores it's cmdline (not yet used)
- configure.ac now supports a build directory different to the source
directory
- removed doubled tests
- removed some no longer neccessary tests from configure.ac
- removing error message concerning <no target clean> when building with
jemalloc disabled.
- removing error messages concerning missing paramter to rm while
running "make clean" when there are no backup files by either vim or
patch or files containing rejected diff hunks.
- renamed 'gcov.m4' => 'fluffos_check_gcov.m4'
- reordered some tests
- reworked <check for programs> section
- added protection against compiler option "-flto" under cygwin (currently dysfunct)
- added some AC_PROG_xxx checks
- added subsection for plain C compiler
- several files included at least one of 'sys/time.h' or 'time.h'
without using the autoconf result of what should be included...
- sorted old entrys
- using 'build-aux' for all files needed by autotools cleans the main
directory...
TODO:
- Makefile support for build directory
* <core>(autotools): moved buildsystem one dir up
Signed-off-by: Shea690901 <ginny690901@hotmail.de>
* <core>(autotools): preliminary added automake
Signed-off-by: Shea690901 <ginny690901@hotmail.de>
* <feat>(autotools): added automake/libtool
- it compiles (atleast under cygwin)....
- but only with default 'local_options'....
support enabled for:
- --enable-maintainer-mode
- --enable-devel (implied by maintainer mode)
support for jemalloc currently force disabled
switched test environment from trusty to xenial (needed for more recent
automake version)!!!!
TODO:
- choosing of packages to compile by configure-option
- either removal of 'local_options' or used file autogenerated by
configure run
Signed-off-by: Shea690901 <ginny690901@hotmail.de>
* <feat>([various]): added gnulib support
Quickfix for some portability probblems...
Signed-off-by: Shea690901 <ginny690901@hotmail.de>
1.7 KiB
1.7 KiB
URGENT
vm/internal/simul_efun.cc
- init_simul_efun possible overflow in strcat(buf, ".c") change to strncat!!! search complete source for other occurances
- portability problems add gnulib modules
Have Time
documentation
- complete docs/efun/contrib [packages/contrib]
- check efun::shadowp/efun::query_shadowing
- expand docs for efun:implode (missing three arg form)
- missing docs for efun::defer
packages/contrib/contrib.cc
network_stats
- make maximum number of ports configurable?
- if yes look for possible buffer overflows!!!
query_num
- rework code? uses goto
string_difference
- rename? there are different kind of string differences...
packages/core/ed.cc
- missing 'check_valid_path(...)' for write operation with new api.
packages/core/file.cc
-
add support for 'lstat' if available
- efun::get_dir
- efun::file_size
- efun::stat / new efun::lstat ?
-
remove master::valid_link ?
efun::link internally uses efun::rename with it's inherit security checks against master::valid_write making either double checks or reducing master::valid_link to a simple switch: mudlib generally allows / forbids linking
-
alternative: remove dependency on efun::rename from efun::link and correctly support links within all relevant functions
path handling
-
simplify handling of paths:
There are dozends of places where paths are brought into some canonical form. Make sure each supplied path, either by mudlib, runtime configuration or generated by the driver itself, IS canonical and work from there...
vm/internal/simulate.cc
- give_uid_to_object
after calling master::creator_file doubled check for
!ret.