summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Rename doc folder to docsIvan Maidanski2023-01-261-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * CMakeLists.txt [enable_docs] (CMAKE_INSTALL_DOCDIR): Rename doc folder to docs. * Makefile.am [ENABLE_DOCS] (docdocdir, dist_docdocs_DATA, dist_docdocsplatforms_DATA): Likewise. * Makefile.direct (CXXFLAGS): Likewise. * README.md: Likewise. * docs/simple_example.md (Other platforms): Likewise. * Makefile.am [ENABLE_DOCS] (docdocdir): Rename to docdocsdir. * Makefile.am [ENABLE_DOCS] (dist_docdoc_DATA): Rename to dist_docdocs_DATA. * Makefile.am [ENABLE_DOCS] (docdocplatformsdir): Rename to docdocsplatformsdir. * Makefile.am [ENABLE_DOCS] (dist_docdocplatforms_DATA): Rename to dist_docdocsplatforms_DATA. * doc/README.autoconf: Move to docs folder. * doc/README.cmake: Likewise. * doc/README.cords: Likewise. * doc/README.environment: Likewise. * doc/README.macros: Likewise. * doc/debugging.md: Likewise. * doc/faq.md: Likewise. * doc/finalization.md: Likewise. * doc/gcdescr.md: Likewise. * doc/gcinterface.md: Likewise. * doc/leak.md: Likewise. * doc/overview.md: Likewise. * doc/porting.md: Likewise. * doc/scale.md: Likewise. * doc/simple_example.md: Likewise. * doc/tree.md: Likewise. * doc/platforms/README.aix: Move to docs/platforms folder. * doc/platforms/README.amiga: Likewise. * doc/platforms/README.arm_cross: Likewise. * doc/platforms/README.darwin: Likewise. * doc/platforms/README.dgux386: Likewise. * doc/platforms/README.emscripten: Likewise. * doc/platforms/README.ews4800: Likewise. * doc/platforms/README.hp: Likewise. * doc/platforms/README.linux: Likewise. * doc/platforms/README.mac: Likewise. * doc/platforms/README.os2: Likewise. * doc/platforms/README.sgi: Likewise. * doc/platforms/README.solaris2: Likewise. * doc/platforms/README.symbian: Likewise. * doc/platforms/README.uts: Likewise. * doc/platforms/README.win32: Likewise. * doc/platforms/README.win64: Likewise.
* Preserve doc folders structure on package installIvan Maidanski2023-01-261-18/+24
| | | | | | | | | | | | | | | | | | | | Issue #518 (bdwgc). Previously all documentation files were copied to a single folder during make install. Now, the files are copied preserving the directories structure. * CMakeLists.txt [enable_docs] (install): Change destination for doc/README.* and doc/*.md items from ${CMAKE_INSTALL_DOCDIR} to ${CMAKE_INSTALL_DOCDIR}/doc; change destination for doc/platforms/README.* items from ${CMAKE_INSTALL_DOCDIR} to ${CMAKE_INSTALL_DOCDIR}/doc/platforms. * Makefile.am [ENABLE_DOCS] (docdocdir, docdocplatformsdir): New variable. * Makefile.am [ENABLE_DOCS] (dist_docdoc_DATA): Define (move doc/README.* and doc/*.md items from dist_doc_DATA). * Makefile.am [ENABLE_DOCS] (dist_docdocplatforms_DATA): Define (move doc/platforms/README.* items from dist_doc_DATA).
* Convert faq.html to Markdown formatIvan Maidanski2023-01-251-1/+1
| | | | | | | | * Makefile.am [ENABLE_DOCS] (dist_doc_DATA): Replace faq.html with faq.md. * doc/overview.md: Likewise. * doc/faq.html: Change file suffix to .md; convert text file from HTML to Markdown.
* Put faq.html to codebaseHans Boehm2023-01-251-0/+1
| | | | | | | | | * Makefile.am [ENABLE_DOCS] (dist_doc_DATA): Add doc/faq.html entry. * doc/faq.html: New file. * doc/overview.md: Change links to faq.html to point to the file in doc folder (not website). Co-authored-by: Ivan Maidanski <ivmai@mail.ru>
* Install ChangeLog among doc filesIvan Maidanski2023-01-241-0/+1
| | | | | | * CMakeLists.txt [enable_docs] (CMAKE_INSTALL_DOCDIR): Add "ChangeLog" entry. * Makefile.am [ENABLE_DOCS] (dist_doc_DATA): Likewise.
* Change file extension of README.* to lower case in doc/platformsIvan Maidanski2022-12-071-4/+4
| | | | | | | | | | | | | * Makefile.am [ENABLE_DOCS] (dist_doc_DATA): Rename README.DGUX386 to README.dgux386. * doc/README.macros (GC_DGUX386_THREADS): Likewise. * Makefile.am [ENABLE_DOCS] (dist_doc_DATA): Rename README.Mac to README.mac; rename README.OS2 to README.os2; rename README.arm.cross to README.arm_cross; reorder items. * doc/platforms/README.arm.cross: Rename to README.arm_cross. * doc/platforms/README.DGUX386: Rename to README.dgux386. * doc/platforms/README.Mac: Rename to README.mac. * doc/platforms/README.OS2: Rename to README.os2.
* Move platform-specific README files to doc/platformsRoger Pack2022-12-071-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #515 (bdwgc). Make doc folder less overwhelming by moving platform specific docs to their own folder. * Makefile.am (dist_doc_DATA): Change doc/README.* to doc/platforms/README.* for README.DGUX386, README.Mac, README.OS2, README.aix, README.amiga, README.arm.cross, README.darwin, README.emscripten, README.ews4800, README.hp, README.linux, README.sgi, README.solaris2, README.symbian, README.uts, README.win32, README.win64. * README.md (General Description, Installation and Portability): Update links to README.win32, README.win64 and README.* files. * doc/debugging.md (Bus Errors and Segmentation Violations): Put README.win32 in quotes (to match that in other .md files). * doc/README.DGUX386: Move to doc/platforms folder. * doc/README.Mac: Likewise. * doc/README.OS2: Likewise. * doc/README.aix: Likewise. * doc/README.amiga: Likewise. * doc/README.arm.cross: Likewise. * doc/README.darwin: Likewise. * doc/README.emscripten: Likewise. * doc/README.ews4800: Likewise. * doc/README.hp: Likewise. * doc/README.linux: Likewise. * doc/README.sgi: Likewise. * doc/README.solaris2: Likewise. * doc/README.symbian: Likewise. * doc/README.uts: Likewise. * doc/README.win32: Likewise. * doc/README.win64: Likewise. * doc/simple_example.md (Other platforms): Replace doc/README.xxx to doc/platforms folder.
* Avoid code duplication between pthread_support.c and win32_threads.cIvan Maidanski2022-12-061-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (refactoring) * CMakeLists.txt [CMAKE_USE_PTHREADS_INIT || CMAKE_USE_WIN32_THREADS_INIT] (SRC): Include pthread_start.c and pthread_support.c for Win32 platform. * Makefile.am [THREADS] (libgc_la_SOURCES): Likewise. * NT_MAKEFILE [ENABLE_STATIC] (OBJS): Add pthread_start.obj, pthread_support.obj. * include/private/gc_locks.h [LINT2 || GC_WIN32_THREADS] (NO_PTHREAD_TRYLOCK): Do not define if already defined; add comment. * include/private/gcconfig.h [GC_PTHREADS && !GC_PTHREADS_PARAMARK && !__MINGW32__] (GC_PTHREADS_PARAMARK): Do not define unless PARALLEL_MARK. * include/private/pthread_support.h (thread_id_self, THREAD_ID_EQUAL, ADDR_LIMIT, MAX_MARKERS, GC_PTHREAD_PTRVAL): Define macro. * include/private/pthread_support.h (GC_win32_dll_threads, GC_available_markers_m1, GC_required_markers_cnt, GC_marker_sp, GC_marker_last_stack_min, GC_marker_Id): Declare global variable. * include/private/pthread_support.h (GC_init_win32_thread_naming, GC_mark_thread, GC_new_thread, GC_record_stack_base, GC_register_my_thread_inner, GC_lookup_by_pthread, GC_setup_atfork, GC_win32_cache_self_pthread, GC_delete_gc_thread_no_free, GC_win32_dll_lookup_thread, GC_delete_thread, GC_win32_unprotect_thread, GC_wait_for_gc_completion): Declare. * include/private/pthread_support.h [GC_PTHREADS] (GC_pthread_start_inner, GC_start_rtn_prepare_thread): Declare even for GC_WIN32_THREADS. * misc.c [!THREADS] (GC_call_with_gc_active, GC_do_blocking_inner): Update comment to refer to pthread_support.c. * pthread_start.c [GC_PTHREADS] (GC_pthread_start_inner): Define even for GC_WIN32_THREADS. * pthread_support.c: Do not skip this file for GC_WIN32_THREADS; adjust includes for Win32. * pthread_support.c (GC_INNER_WIN32THREAD): New macro. * pthread_support.c (GC_init_win32_thread_naming, GC_win32_unprotect_thread): New function. * pthread_support.c (setThreadDescription_fn, set_marker_thread_name): Move from win32_threads.c. * pthread_support.c (available_markers_m1): Rename to GC_available_markers_m1. * win32_threads.c (available_markers_m1): Likewise. * pthread_support.c (required_markers_cnt): Rename to GC_required_markers_cnt. * win32_threads.c (required_markers_cnt): Likewise. * pthread_support.c (GC_mark_thread, GC_start_mark_threads_inner, GC_push_thread_structures, GC_count_threads, GC_new_thread, GC_delete_thread, GC_delete_gc_thread_no_free, GC_lookup_thread, GC_reset_finalizer_nested, GC_check_finalizer_nested, GC_is_thread_tsd_valid, GC_thread_is_registered, GC_register_altstack, GC_segment_is_thread_stack, GC_wait_for_gc_completion, GC_remove_all_threads_but_me, fork_child_proc, GC_record_stack_base, GC_init_parallel, GC_pthread_sigmask, GC_set_stackbottom, GC_get_my_stackbottom, GC_call_with_gc_active, GC_unregister_my_thread, GC_unregister_my_thread_inner, GC_thread_exit_proc, GC_pthread_join, GC_pthread_detach, GC_pthread_sigmask, GC_pthread_create): Adjust function for Win32. * win32_threads.c (GC_lock_holder, GC_win32_dll_threads, IE_t, GC_thr_initialized, GC_need_to_lock, ADDR_LIMIT, GC_thread, GC_vthread, GC_threads, first_thread, GC_new_thread, GC_in_thread_creation, GC_record_stack_base, GC_lookup_thread, CHECK_LOOKUP_MY_THREAD, GC_reset_finalizer_nested, GC_check_finalizer_nested, GC_is_thread_tsd_valid, GC_thread_is_registered, GC_register_altstack, UNPROTECT_THREAD, GC_PTHREAD_PTRVAL, GC_delete_gc_thread_no_free, GC_delete_thread, GC_allow_register_threads, GC_register_my_thread, GC_set_stackbottom, GC_wait_for_gc_completion, GC_unregister_my_thread, GC_do_blocking_inner, GC_call_with_gc_active, GC_get_my_stackbottom, GC_remove_all_threads_but_me, fork_prepare_proc, fork_parent_proc, fork_child_proc, GC_atfork_prepare, GC_atfork_parent, GC_atfork_child, GC_setup_atfork, GC_push_thread_structures, marker_sp, set_marker_thread_name, setThreadDescription_fn, GC_mark_thread, required_markers_cnt, GC_set_markers_count, START_MARK_THREADS, start_info, GC_pthread_join, GC_pthread_create, GC_pthread_start_inner, GC_pthread_start, GC_thread_exit_proc, GC_pthread_detach, GC_check_tls, GC_init_parallel, GC_lock, GC_mark_thread_local_free_lists): Remove. * win32_threads.c [GC_PTHREADS_PARAMARK] (mark_cv, GC_start_mark_threads_inner, GC_mark_lock_holder, SET_MARK_LOCK_HOLDER, UNSET_MARK_LOCK_HOLDER, mark_mutex, builder_cv, GC_acquire_mark_lock, GC_release_mark_lock, GC_wait_builder, GC_wait_for_reclaim, GC_notify_all_builder, GC_wait_marker, GC_notify_all_marker, * win32_threads.c [GC_PTHREADS] (pthread_create, pthread_join, pthread_detach, pthread_sigmask): Do not undefine. * win32_threads.c [CAN_CALL_ATFORK]: Do not include unistd.h. * win32_threads.c (GC_register_my_thread_inner): Change type of me local variable from GC_vthread to GC_thread. * win32_threads.c (GC_win32_dll_lookup_thread, GC_win32_cache_self_pthread): New GC_INNER function. * win32_threads.c (GC_suspend, GC_start_world, GC_push_stack_for): Use GC_win32_unprotect_thread() instead of UNPROTECT_THREAD(). * win32_threads.c (marker_last_stack_min): Rename to GC_marker_last_stack_min. * win32_threads.c (GC_thr_init): Call GC_init_win32_thread_naming().
* Update shared objects version info to be not lower than in gc 8.2.2Ivan Maidanski2022-08-261-1/+1
| | | | | | | | | * CMakeLists.txt (LIBCORD_VER_INFO): Increment current and age (change version info of libcord.so to 6:0:5). * cord/cord.am (LIBCORD_VER_INFO): Likewise. * CMakeLists.txt (LIBGC_VER_INFO): Increment revision (change version info of libgc.so to 6:1:5). * Makefile.am (LIBGC_VER_INFO): Likewise.
* Link with rt library to get clock_gettime where necessaryIvan Maidanski2022-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Issue #450 (bdwgc). This patch adds the logic to CMake and configure scripts to pass -lrt option during linking to avoid unresolved clock_gettime on some hosts. * CMakeLists.txt [!NEED_LIB_RT] (HAVE_CLOCK_GETTIME_DIRECTLY): Set variable by check_function_exists(clock_gettime). * CMakeLists.txt [!NEED_LIB_RT && !HAVE_CLOCK_GETTIME_DIRECTLY] (NEED_LIB_RT): Set to ON. * CMakeLists.txt (LIBRT): Refine comment. * CMakeLists.txt (gc): Specify target_link_libraries regardless of enable_threads. * Makefile.am (libgc_la_LIBADD): Update comment. * configure.ac (need_lib_rt): Define variable (and set to false). * configure.ac [$THREADS==pthreads && ($host==*-*-hpux11* || $host==*-*-netbsd* || $host== *-*-solaris* || $host==*-*-osf*)] (THREADDLLIBS): Do not add "-lrt" directly. * configure.ac [$THREADS==pthreads && ($host==*-*-hpux11* || $host==*-*-netbsd* || $host== *-*-solaris* || $host==*-*-osf*)] (need_lib_rt): Set to true. * configure.ac [!need_lib_rt && !AC_LINK_IFELSE(clock_gettime) && AC_CHECK_LIB(rt,clock_gettime)] (need_lib_rt): Set to true. * configure.ac [need_lib_rt] (THREADDLLIBS): Append "-lrt".
* Treat warnings as errors in C++ code if configure --enable-werrorIvan Maidanski2022-08-131-1/+1
| | | | | | | | When building with the automake scripts, pass -Werror option to the compiler (if requested and supported) not only when compiling .c files but also .cc ones. * Makefile.am (AM_CXXFLAGS): Prepend $WERROR_CFLAGS.
* Remove extra space after comma in license termsIvan Maidanski2022-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (reformatting) * CMakeLists.txt: Remove an extra space after comma in license header comment. * Makefile.am: Likewise. * allchblk.c: Likewise. * alloc.c: Likewise. * backgraph.c: Likewise. * blacklst.c: Likewise. * checksums.c: Likewise. * configure.ac: Likewise. * cord/cordbscs.c: Likewise. * cord/cordprnt.c: Likewise. * cord/cordxtra.c: Likewise. * cord/tests/cordtest.c: Likewise. * cord/tests/de.c: Likewise. * cord/tests/de_cmds.h: Likewise. * cord/tests/de_win.c: Likewise. * cord/tests/de_win.h: Likewise. * cord/tests/de_win.rc: Likewise. * darwin_stop_world.c: Likewise. * dbg_mlc.c: Likewise. * dyn_load.c: Likewise. * extra/gc.c: Likewise. * extra/msvc_dbg.c: Likewise. * extra/pcr_interface.c: Likewise. * extra/real_malloc.c: Likewise. * finalize.c: Likewise. * fnlz_mlc.c: Likewise. * gc_badalc.cc: Likewise. * gc_cpp.cc: Likewise. * gc_dlopen.c: Likewise. * gcj_mlc.c: Likewise. * headers.c: Likewise. * include/gc/cord.h: Likewise. * include/gc/cord_pos.h: Likewise. * include/gc/ec.h: Likewise. * include/gc/gc.h: Likewise. * include/gc/gc_backptr.h: Likewise. * include/gc/gc_config_macros.h: Likewise. * include/gc/gc_disclaim.h: Likewise. * include/gc/gc_gcj.h: Likewise. * include/gc/gc_inline.h: Likewise. * include/gc/gc_mark.h: Likewise. * include/gc/gc_pthread_redirects.h: Likewise. * include/gc/gc_tiny_fl.h: Likewise. * include/gc/gc_typed.h: Likewise. * include/gc/gc_version.h: Likewise. * include/gc/javaxfc.h: Likewise. * include/gc/leak_detector.h: Likewise. * include/include.am: Likewise. * include/private/darwin_semaphore.h: Likewise. * include/private/darwin_stop_world.h: Likewise. * include/private/dbg_mlc.h: Likewise. * include/private/gc_alloc_ptrs.h: Likewise. * include/private/gc_atomic_ops.h: Likewise. * include/private/gc_hdrs.h: Likewise. * include/private/gc_locks.h: Likewise. * include/private/gc_pmark.h: Likewise. * include/private/gc_priv.h: Likewise. * include/private/gcconfig.h: Likewise. * include/private/pthread_stop_world.h: Likewise. * include/private/pthread_support.h: Likewise. * include/private/specific.h: Likewise. * include/private/thread_local_alloc.h: Likewise. * m4/gc_set_version.m4: Likewise. * mach_dep.c: Likewise. * malloc.c: Likewise. * mallocx.c: Likewise. * mark.c: Likewise. * mark_rts.c: Likewise. * misc.c: Likewise. * new_hblk.c: Likewise. * obj_map.c: Likewise. * os_dep.c: Likewise. * pthread_start.c: Likewise. * pthread_stop_world.c: Likewise. * pthread_support.c: Likewise. * ptr_chck.c: Likewise. * reclaim.c: Likewise. * specific.c: Likewise. * tests/atomicops.c: Likewise. * tests/cpp.cc: Likewise. * tests/disclaim.c: Likewise. * tests/disclaim_bench.c: Likewise. * tests/gctest.c: Likewise. * tests/tests.am: Likewise. * tests/weakmap.c: Likewise. * thread_local_alloc.c: Likewise. * tools/setjmp_t.c: Likewise. * tools/threadlibs.c: Likewise. * typd_mlc.c: Likewise. * win32_threads.c: Likewise. * LICENSE: Remove an extra space after comma in license terms.
* Remove ancient PCR-MakefileIvan Maidanski2021-11-291-2/+2
| | | | | | | | | | | | * Makefile.am (EXTRA_DIST): Remove PCR-Makefile item; reorder items. * Makefile.direct (srcdir): Update comment. * Makefile.direct (pcr): Remove rule. * PCR-Makefile: Remove. * README.md (Installation and Portability): Do not mention PCR has a specific makefile. * doc/README.macros (PCR): Mention PCR-specific defines from PCR-Makefile. * tests/test.c (NTHREADS): Do not mention PCR.
* Remove ancient SMakefile.amigaIvan Maidanski2021-11-291-2/+1
| | | | | | | | | | * Makefile.am (EXTRA_DIST): Remove SMakefile.amiga item. * README.md (Installation and Portability): Do not mention Amiga has a specific makefile. * SMakefile.amiga: Remove. * doc/README.amiga: Mention Makefile.direct instead of Makefile. * doc/README.amiga (WHATS NEW): Copy Amiga-specific options and defines from SMakefile.amiga file.
* Remove ancient OS2_MAKEFILEIvan Maidanski2021-11-291-1/+1
| | | | | | | | | | WCC_MAKEFILE could be used instead (for OS/2 target). * Makefile.am (EXTRA_DIST): Remove OS2_MAKEFILE item. * OS2_MAKEFILE: Remove. * WCC_MAKEFILE: Change "OS2" to "OS/2" in the title comment. * doc/README.OS2: Refer to WCC_MAKEFILE instead of OS2_MAKEFILE; copy notes from OS2_MAKEFILE.
* Remove Symbian makefileIvan Maidanski2021-11-291-1/+1
| | | | | | | | | | | * build/s60v3/bld.inf: Remove. * build/s60v3/libgc.mmp: Likewise. * doc/README.symbian: Copy content of bld.inf and libgc.mmp (as a sample build configuration); add global_end.cpp, global_start.cpp, init_global_static_roots.cpp as source files. * Makefile.am (EXTRA_DIST): Remove bld.inf, libgc.mmp items. * README.md (Installation and Portability): Do not mention Symbian-specific makefile.
* Fix nodist_libgc_la_SOURCES value in Makefile.am for Solaris/sparcIvan Maidanski2021-11-271-3/+2
| | | | | | * Makefile.am [NEED_ATOMIC_OPS_ASM] (nodist_libgc_la_SOURCES): Append atomic_ops_sysdeps.S instead of overwriting atomic_ops.c item (and only if USE_INTERNAL_LIBATOMIC_OPS).
* Remove doc.am and move gc.man to base folderIvan Maidanski2021-11-251-1/+43
| | | | | | | | | | | | | | | (refactoring) This is to eliminate non-dist-doc files in doc folder. * CMakeLists.txt [enable_docs] (doc/gc.man): Rename to gc.man. * Makefile.am [ENABLE_DOCS] (dist_man3_MANS): Likewise. * Makefile.direct (BSD-pkg-install): Likewise. * Makefile.am: Do not include doc/doc.am. * Makefile.am [ENABLE_DOCS] (dist_doc_DATA, dist_man3_MANS): Copy assignment from doc.am. * doc/doc.am: Remove. * doc/gc.man: Rename to gc.man.
* Remove commented out code in Makefile.amIvan Maidanski2021-11-251-15/+1
| | | | | | | (refactoring) * Makefile.am: Remove commented out code; adjust outdated comment near the deleted commented out code.
* Rename README.QUICK to LICENSE and install it by defaultIvan Maidanski2021-11-231-4/+0
| | | | | | | | | | | | | | README.QUICK contains the package copyright and licensing terms, it is more natural to name the file as LICENSE. * CMakeLists.txt [enable_docs] (install): Add LICENSE for $CMAKE_INSTALL_DOCDIR; remove note that README.QUICK is not installed. * README.QUICK: Rename to LICENSE. * Makefile.am (EXTRA_DIST): Do not add README.QUICK. * README.md (Copyright & Warranty, Contributors): Rename README.QUICK to LICENSE. * doc/README.DGUX386: Refer to README.md instead of README.QUICK. * doc/doc.am [ENABLE_DOCS] (dist_doc_DATA): Add LICENSE.
* Move non-cord [pkg]include_HEADERS assignments to include.amIvan Maidanski2021-11-131-19/+1
| | | | | | | | | | | (refactoring) * Makefile.am [PTHREADS || ENABLE_GCJ_SUPPORT || ENABLE_DISCLAIM] (pkginclude_HEADERS): Move item addition to include/include.am. * Makefile.am [CPLUSPLUS] (pkginclude_HEADERS, include_HEADERS): Likewise. * Makefile.am (EXTRA_DIST): Move msvc_dbg.h item to include/include.am; remove TODO about the use of Makefile.am with MS VC.
* Distribute gc_gcj.h and some other headers in single-obj-compilationJakub Wojciech2021-11-081-3/+12
| | | | | | | | | | | | Issue #389 (bdwgc). This fixes installation of gc_pthread_redirects.h, gc_gcj.h and gc_disclaim.h if --single-obj-compilation is passed to configure. * Makefile.am [PTHREADS] (pkginclude_HEADERS): Move outside the SINGLE_GC_OBJ conditional. * Makefile.am [ENABLE_GCJ_SUPPORT] (pkginclude_HEADERS): Likewise. * Makefile.am [ENABLE_DISCLAIM] (pkginclude_HEADERS): Likewise.
* Refer to Makefile.direct instead of deleted Makefile file in READMEIvan Maidanski2021-11-031-1/+0
| | | | | | | | | | | (fix of commit 183c30bb0) * Makefile.am (EXTRA_DIST): Remove outdated comment exclusion of "Makefile" file. * README.QUICK (WARNINGS): Mention "Makefile.am or Makefile.direct" instead of "Makefile". * doc/README.linux: Mention "Makefile.direct" instead of "Makefile". * doc/README.sgi: Likewise.
* [8.2.0]v8.2.0Ivan Maidanski2021-09-291-1/+1
| | | | | | | | | | | | | | | | | | | Bump gc version to 8.2.0 (experimental release) * ChangeLog (8.2.0): Set release date. * CMakeLists.txt (PACKAGE_VERSION): Bump minor version and set micro to 0 (change package version to 8.2.0). * README.md: Likewise. * configure.ac (AC_INIT): Likewise. * include/gc_version.h (GC_TMP_VERSION_MINOR, GC_TMP_VERSION_MICRO): Likewise. * CMakeLists.txt (LIBGCCPP_VER_INFO): Increment current and age (change version info of libgccpp.so to 6:0:5). * Makefile.am (LIBGCCPP_VER_INFO): Likewise. * README.md: Remove build status badges (Travis, AppVeyor, Codecov, Coveralls, Coverity, LGTM). * doc/README.cmake (HOW TO IMPORT BDWGC): Update BDWgc version in the sample.
* Install gc_gcj.h and gc_pthread_redirects.h only if appropriateIvan Maidanski2021-07-261-1/+7
| | | | | | | | | | | | | | | | | | | gc_gcj.h should not be installed if support for gcj is off. gc_pthread_redirects.h should not be installed if threads support is off or not based on pthread library. * CMakeLists.txt [install_headers] (FILES): Install include/gc_gcj.h only if enable_gcj_support; install include/gc_pthread_redirects.h only if enable_threads AND CMAKE_USE_PTHREADS_INIT. * Makefile.am (libgc_la_SOURCES): Remove gcj_mlc.c unless ENABLE_GCJ_SUPPORT. * Makefile.am [PTHREADS] (pkginclude_HEADERS): Add include/gc_pthread_redirects.h. * Makefile.am [ENABLE_GCJ_SUPPORT] (pkginclude_HEADERS): Add include/gc_gcj.h. * configure.ac (ENABLE_GCJ_SUPPORT): New AM conditional. * include/include.am (pkginclude_HEADERS): Remove gc_gcj.h and gc_pthread_redirects.h.
* Fix ./libgc.la dependency on FreeBSD (Automake)Peter Wang2021-07-211-2/+2
| | | | | | | | | | | | | | | Issue #361 (bdwgc). For some reason, BSD make do not use the Makefile rule to satisfy a dependency on ./libgc.la. Note: this change should not break builds on other targets (e.g. based on GNU make) as $top_builddir should be expanded to ".". * Makefile.am [CPLUSPLUS] (libgccpp_la_LIBADD): Remove "./" prefix. * Makefile.am [CPLUSPLUS && GC_TBA_LIBRARY] (libgctba_la_LIBADD): Likewise. * cord/cord.am (libcord_la_LIBADD): Remove "$(top_builddir)/" prefix.
* Export CMake targets with namespace BDWgcSteve Youngs2021-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #327 (bdwgc). Create and install CMake support files: export all targets to BDWgcTargets; install the BDWgcTargets.cmake file with namespace BDWgc. * CMakeLists.txt: Include CMakePackageConfigHelpers. * CMakeLists.txt (gc): Specify target_include_directories. * CMakeLists.txt [enable_cplusplus] (gccpp): Likewise. * CMakeLists.txt [enable_cplusplus && enable_throw_bad_alloc_library] (gctba): Likewise. * CMakeLists.txt [build_cord] (cord): Likewise. * CMakeLists.txt [build_cord] (cord): Change install export to BDWgcTargets (export all targets to "BDWgcTargets" instead of separate exports). * CMakeLists.txt (gc): Likewise. * CMakeLists.txt [enable_cplusplus] (gccpp): Likewise. * CMakeLists.txt [enable_cplusplus && enable_throw_bad_alloc_library] (gctba): Likewise. * CMakeLists.txt (BDWgcTargets): Specify export (BDWgcTargets.cmake) with namespace "BDWgc". * CMakeLists.txt (Config.cmake.in): Specify configure package config file and write basic package version file. * CMakeLists.txt (BDWgcConfig.cmake, BDWgcConfigVersion.cmake): Specify install. * Config.cmake.in: New file (used to create BDWgcConfig.cmake). * Makefile.am (EXTRA_DIST): Add Config.cmake.in item. * doc/README.cmake (HOW TO IMPORT BDWGC): Add documentation section.
* Build gctba libraryIvan Maidanski2019-11-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #268 (bdgwc). The library exports only GC_throw_bad_alloc C++ function. It is intended to solve "undefined reference to GC_throw_bad_alloc" linkage error when the client needs to avoid linking with gccpp library (to avoid "::new" redirection, in turn). * CMakeLists.txt (enable_throw_bad_alloc_library): New option (ON by default). * CMakeLists.txt [enable_cplusplus && enable_throw_bad_alloc_library] (gctba): New library. * Makefile.am [CPLUSPLUS && GC_TBA_LIBRARY] (lib_LTLIBRARIES): Add libgctba.la item. * Makefile.am [CPLUSPLUS && GC_TBA_LIBRARY] (libgctba_la_SOURCES, libgctba_la_LIBADD, libgctba_la_LDFLAGS): New variable. * Makefile.direct: Update head comment (mention gctba.a). * Makefile.direct (bsd-libgctba.a, gctba.a): New target. * NT_MAKEFILE (gctba.lib): Likewise. * WCC_MAKEFILE (gctba.lib): Likewise. * WCC_MAKEFILE [!ENABLE_STATIC] (gctba.dll): Likewise. * Makefile.direct (bsd-libgc.a): Move gctba.a to bsd-libgctba.a. * Makefile.direct (BSD-pkg-install): Copy bsd-libgctba.a; install libgctba.a. * Makefile.direct (c++): Add dependency on gc_badalc.o; call rus, $(AR) and $(RANLIB) for gctba.a. * NT_MAKEFILE (all): Add dependency on gctba.lib. * WCC_MAKEFILE (all): Likewise. * README.QUICK: Update information about "make c++" (reference libgctba.a, libgctba.so and doc/gcinterface.md). * configure.ac (throw-bad-alloc-library): Specify new AC_ARG_ENABLE. * configure.ac (GC_TBA_LIBRARY): New AM_CONDITIONAL. * doc/gcinterface.md (Class inheritance based interface): Add information about libgctba library; document GC_NEW_ABORTS_ON_OOM and GC_INCLUDE_NEW macros.
* Move GC_throw_bad_alloc definition to new C++ fileIvan Maidanski2019-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #268 (bdgwc). * CMakeLists.txt [enable_cplusplus] (gccpp): Add gc_badalc.cc library source file. * Makefile.am [CPLUSPLUS] (libgccpp_la_SOURCES): Likewise. * Makefile.am (EXTRA_DIST): Add gc_badalc.cpp. * Makefile.direct (SRCS): Add gc_badalc.cc. * Makefile.direct (gc_badalc.o): New target. * NT_MAKEFILE (gc_badalc.obj): Likewise. * WCC_MAKEFILE (gc_badalc.obj): Likewise. * digimars.mak (gc_badalc.obj): Likewise. * build/s60v3/libgc.mmp (SOURCE): Mention gc_badalc.cpp (commented out). * Makefile.direct (c++): Add dependency on gc_badalc.o; pass gc_badalc.o to ru tool. * NT_MAKEFILE (gccpp.lib): Add dependency on gc_badalc.obj; pass gc_badalc.obj to lib or link tool. * WCC_MAKEFILE (gccpp.lib, gccpp.dll): Likewise. * digimars.mak (OBJS): Add gc_badalc.obj. * doc/README.Mac (Files to build the GC libraries): Add gc_badalc.cc. * doc/gcinterface.md (C++ Interface): Mention gc_badalc.cc file. * gc_badalc.cc: New file. * gc_badalc.cpp: Likewise. * gc_cpp.cc (GC_throw_bad_alloc): Move to gc_badalc.cc. * gc_cpp.cc (GC_ALLOCATOR_THROW_OR_ABORT): Add comment; do not define unless GC_NO_INLINE_STD_NEW, or not _MSC_VER and not __DMC__. * tests/tests.am [CPLUSPLUS && AVOID_CPP_LIB] (test_cpp_LDADD): Add gc_badalc.o.
* Add dummy target for mono clientJonathan Chambers2019-10-071-0/+3
| | | | | | (a cherry-pick of commit b762dda6 from Unity-Technologies/bdwgc) * Makefile.am (test-bundle): New target (empty).
* Remove gc.mak script (MS VC)Ivan Maidanski2019-07-171-3/+3
| | | | | | | | | | | | Issue #105 (bdwgc). CMake script or NT_MAKEFILE should be used instead of gc.mak. * ChangeLog (8.1.0): Remove item about gc.mak. * Makefile.am (EXTRA_DIST): Remove gc.mak. * gc.mak: Remove file. * doc/README.win32 (Threads): Remove gc.mak usage information; mention that CMake script is the preferred way of building for Windows.
* Remove Borland-specific Makefile (BCC_MAKEFILE)Ivan Maidanski2019-07-171-2/+1
| | | | | | | | | | | | Issue #105 (bdwgc). CMake script should be used instead of BCC_MAKEFILE. * BCC_MAKEFILE: Remove file. * Makefile.am (EXTRA_DIST): Remove BCC_MAKEFILE. * doc/README.win32 (Borland Tools): Remove "rarely tested" note; change BCC_MAKEFILE to cmake -G "Borland Makefiles"; remove note that Borland 5.5 is assumed.
* Move test executable files produced by CMake to the base folderIvan Maidanski2019-06-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | Issue #281 (bdwgc). This is done by moving the content of cord/CMakeLists.txt and tests/CMakeLists.txt files to the base CMakeLists.txt. * CMakeLists.txt [build_tests && build_cord]: Move content from cord/CMakeLists.txt. * CMakeLists.txt [build_tests && build_cord] (cordtest, de): Add "cord/" to .c files in add_executable. * CMakeLists.txt [build_tests]: Move content from tests/CMakeLists.txt. * CMakeLists.txt [build_tests] (gctest, hugetest, leaktest, middletest, realloc_test, smashtest, tracetest, test_cpp, disclaim_bench, disclaim_test, disclaim_weakmap_test, disclaim_weakmap_test): Add "tests/" to .c and .cc files in add_executable. * Makefile.am (EXTRA_DIST): Remove cord/CMakeLists.txt, tests/CMakeLists.txt. * doc/README.cmake: Update info about CMakeLists.txt files (there is just one file now). * cord/CMakeLists.txt: Remove file. * tests/CMakeLists.txt: Likewise.
* Move CMake cord specification and cord executable to cord folderIvan Maidanski2019-06-051-1/+1
| | | | | | | | | | Issue #281 (bdwgc). * CMakeLists.txt [WIN32]: Move add_executable, set_target_properties, target_link_libraries for cord to cord/CMakeLists.txt. * CMakeLists.txt (cord): Specify add_subdirectory. * Makefile.am (EXTRA_DIST): Add cord/CMakeLists.txt. * cord/CMakeLists.txt: New file.
* Remove unused sparc_sunos4_mach_dep.s fileIvan Maidanski2019-03-201-1/+1
| | | | | | | | | | Issue #269 (bdwgc). It had been used only by OpenBSD/sparc in Makefile.direct previously. * Makefile.am (EXTRA_libgc_la_SOURCES): Remove sparc_sunos4_mach_dep.s. * Makefile.direct (SRCS): Likewise. * sparc_sunos4_mach_dep.s: Remove file.
* Update libgc.so version info to differentiate against v8.0.xIvan Maidanski2018-12-231-1/+1
| | | | | | | | | | | There are no API/implementation changes in libcord and libgccpp against release-8_0 for now, so the corresponding version info is not updated. There are some implementation changes and new API functions addition in libgc (without API incompatible changes) against release-8_0, so the "current" and "age" parts of the version info are incremented. * Makefile.am (LIBGC_VER_INFO): Change version info to 6:0:5.
* [8.0.0]v8.0.0Ivan Maidanski2018-09-051-2/+2
| | | | | | | | | | | | | | | | | | Bump gc version to 8.0.0 (experimental release) * ChangeLog (8.0.0): Set release date. * Makefile.am (LIBGC_VER_INFO): Increment revision (change version info of libgc.so to 5:1:4). * Makefile.am (LIBGCCPP_VER_INFO): Increment current and age (change version info of libgccpp.so to 5:0:4). * README.md: Bump major version (set minor and micro to 0). * configure.ac (AC_INIT): Likewise. * include/gc_version.h (GC_TMP_VERSION_MAJOR, GC_TMP_VERSION_MINOR, GC_TMP_VERSION_MICRO): Likewise. * README.md: Remove build status badges (Travis, AppVeyor, Codecov, Coveralls, Coverity, LGTM). * cord/cord.am (LIBCORD_VER_INFO): Increment current and age (change version info of libcord.so to 5:0:4).
* Do not install gc_allocator.h, gc_disclaim.h unless the features enabledIvan Maidanski2018-05-241-1/+2
| | | | | | | | * Makefile.am [ENABLE_DISCLAIM] (pkginclude_HEADERS): Add gc_disclaim.h item. * Makefile.am [CPLUSPLUS] (pkginclude_HEADERS): Add gc_allocator.h item. * include/include.am (pkginclude_HEADERS): Remove gc_allocator.h and gc_disclaim.h items.
* Fix comments style in configure.ac and Makefile.amIvan Maidanski2018-05-181-10/+8
| | | | | | | | | | | | | | (code refactoring) Do not allow the comments that are meaningless in the auto-generated configure and Makefile.in to be put to these files. * Makefile.am (EXTRA_DIST, SINGLE_GC_OBJ, EXTRA_DIST, include doc/doc.am): Change comment style from "#" to "##". * Makefile.am (CPLUSPLUS): Move "#" inside the conditional block. * configure.ac: Update the copyright. * configure.ac: Change comment style from "#" to "dnl" for the comments that are meaningless in auto-generated configure file.
* Remove stubborn.c fileIvan Maidanski2018-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (code refactoring) * BCC_MAKEFILE (XXXOBJS): Remove XXXstubborn.obj entry. * CMakeLists.txt (SRC): Remove stubborn.c entry. * Makefile.am (libgc_la_SOURCES): Likewise. * Makefile.direct (CSRCS): Likewise. * PCR-Makefile (CSRC): Likewise. * build/s60v3/libgc.mmp (SOURCE): Likewise. * doc/README.Mac (Files to build the GC libraries): Likewise. * Makefile.direct (OBJS): Remove stubborn.o entry. * PCR-Makefile (COBJ): Likewise. * SMakefile.amiga (OBJS): Likewise. * digimars.mak (OBJS): Likewise. * NT_MAKEFILE (OBJS): Remove stubborn.obj entry. * OS2_MAKEFILE (OBJS): Likewise. * WCC_MAKEFILE (OBJS): Likewise. * SMakefile.amiga (stubborn.o): Remove rule. * digimars.mak (stubborn.obj): Likewise. * extra/gc.c: Do not include stubborn.c. * gc.mak: Remove rules for stubborn.obj and stubborn.sbr. * mallocx.c [MANUAL_VDB] (GC_dirty): Move the function declaration from stubborn.c. * mallocx.c (GC_malloc_stubborn, GC_change_stubborn, GC_end_stubborn_change): Move the function implementation from stubborn.c. * stubborn.c: Delete file.
* Fix libgc version which was changed in a linkage breaking way (master)Ivan Maidanski2018-01-191-1/+1
| | | | | | | Issue #197 (bdwgc). * Makefile.am (LIBGC_VER_INFO): Change from 5:0:3 to 5:0:4 (to bring SONAME back to libgc.so.1).
* Move pcr_interface.c, real_malloc.c to 'extra' folderIvan Maidanski2017-06-131-1/+1
| | | | | | | | | | | | | | | (code refactoring) * Makefile.am (EXTRA_DIST): Add extra/ prefix to pcr_interface.c, real_malloc.c. * PCR-Makefile (CSRC): Likewise. * PCR-Makefile (COBJ): Add extra/ prefix to pcr_interface.o, real_malloc.o. * extra/gc.c: Remove include pcr_interface.c; update comment about files which are not included. * pcr_interface.c: Move to "extra" folder. * real_malloc.c: Likewise. * include/private/gc_priv.h (GC_INNER, GC_EXTERN): Update comment.
* Compile checksums.c only if --with-checksums is given (configure)Ivan Maidanski2017-06-091-1/+5
| | | | | | | | | | | | | New configure option (--with-checksums) is added, mainly to workaround 'checksums.a has no symbols' link warning (observed on Darwin). * Makefile.am [!SINGLE_GC_OBJ] (libgc_la_SOURCES): Do not add checksums.c unless CHECKSUMS. * configure.ac (checksums): New AC_ARG_WITH. * configure.ac [with_checksums && (enable_munmap || THREADS!=none)]: Issue AC_MSG_ERROR. * configure.ac (CHECKSUMS): New AC_DEFINE and AM_CONDITIONAL if with_checksums.
* Fix pthread_start compilation if single-obj-compilation (Linux)Ivan Maidanski2017-06-081-0/+11
| | | | | | | | | * Makefile.am [SINGLE_GC_OBJ && PTHREAD_START_STANDALONE] (AM_CPPFLAGS): Add -DGC_PTHREAD_START_STANDALONE. * Makefile.am [SINGLE_GC_OBJ && PTHREAD_START_STANDALONE] (libgc_la_SOURCES): Add pthread_start.c entry. * Makefile.am: Add bank lines (to improve readability). * configure.ac [*-*-*linux*]: Add AM_CONDITIONAL(PTHREAD_START_STANDALONE).
* Do not compile pcr_interface.c and real_malloc.c except by PCR-MakefileIvan Maidanski2017-06-081-2/+2
| | | | | | | | | | These .c files are empty compilation units for targets other than PCR. * Makefile.am (libgc_la_SOURCES): Remove pcr_interface.c, real_malloc.c. * Makefile.direct (CSRCS): Likewise. * Makefile.am (EXTRA_DIST): Add pcr_interface.c, real_malloc.c. * SMakefile.amiga (OBJS): Remove real_malloc.o. * SMakefile.amiga (real_malloc.o): Remove.
* Support configure --disable-thread-local-alloc option (similar for CMake)Ivan Maidanski2017-06-081-2/+6
| | | | | | | | | | | | | | | | | | * CMakeLists.txt (enable_thread_local_alloc): New option (on by default). * CMakeLists.txt [CMAKE_USE_PTHREADS_INIT || CMAKE_USE_WIN32_THREADS_INIT] (SRC): Add thread_local_alloc.c only if enable_thread_local_alloc. * CMakeLists.txt [CMAKE_USE_PTHREADS_INIT || CMAKE_USE_WIN32_THREADS_INIT]: Define THREAD_LOCAL_ALLOC macro only if enable_thread_local_alloc. * Makefile.am (libgc_la_SOURCES): Add thread_local_alloc.c only if THREAD_LOCAL_ALLOC. * configure.ac (thread-local-alloc): New option. * configure.ac: AC_DEFINE(THREAD_LOCAL_ALLOC) only if enable_thread_local_alloc is yes or unset. * configure.ac (THREAD_LOCAL_ALLOC): New AM_CONDITIONAL.
* Remove 'dist' target from Makefile.directIvan Maidanski2017-05-121-3/+2
| | | | | | | | | | | | | | Distribution tarballs are now created using autotools-based Makefile. * Makefile.am (EXTRA_DIST): Remove tools/add_gc_prefix.c, tools/gcname.c items. * Makefile.direct (SRCS): Likewise. * Makefile.direct (DOC_FILES, TESTS, GNU_BUILD_FILES, OTHER_MAKEFILES, OTHER_FILES): Remove variable. * Makefile.direct (add_gc_prefix, gcname, dist, gc.tar, gc.tar.Z, gc.tar.gz): Remove target. * tools/add_gc_prefix.c: Remove. * tools/gcname.c: Likewise.
* Compile thread_local_alloc only if multi-threaded build (Makefile.am)Ivan Maidanski2017-05-051-3/+3
| | | | | | * Makefile.am (libgc_la_SOURCES): Remove thread_local_alloc.c. * Makefile.am [WIN32_THREADS || PTHREADS] (libgc_la_SOURCES): Add thread_local_alloc.c.
* Update EXTRA_DIST in Makefile, Win32/64 docs after NT_*_MAKEFILE removalIvan Maidanski2017-04-271-2/+1
| | | | | | | | | | | | | | (fix commit 8312098) * Makefile.am (EXTRA_DIST): Remove NT_STATIC_THREADS_MAKEFILE, NT_X64_STATIC_THREADS_MAKEFILE, NT_X64_THREADS_MAKEFILE. * Makefile.direct (OTHER_MAKEFILES): Likewise. * doc/README.win32 (Threads): Do not refer to NT_THREADS_MAKEFILE; replace NT_STATIC_THREADS_MAKEFILE to NT_MAKEFILE. * doc/README.win64: Replace NT_X64_STATIC_THREADS_MAKEFILE and NT_X64_THREADS_MAKEFILE to NT_MAKEFILE; update documentation accordingly; update note about Test_cpp failures; update note about suppressed warnings.
* Remove EMX_MAKEFILE (add EMX support to Makefile.direct)Ivan Maidanski2017-03-231-1/+1
| | | | | | | | | | | | | * EMX_MAKEFILE: Remove. * Makefile.am (EXTRA_DIST): Remove EMX_MAKEFILE entity. * Makefile.direct (OTHER_MAKEFILES): Likewise. * Makefile.direct (CC, RANLIB): Add comment for EMX target. * Makefile.direct (EXEEXT): New variable (empty by default). * Makefile.direct (UTILS, all, cords, test_cpp, check-cpp, c++-t, dyn_test, cord/cordtest, cord/de, if_mach, threadlibs, if_not_there, gctest, setjmp_test, check): Add $(EXEEXT) suffix to if_mach, if_not_there, threadlibs, gctest, cord/cordtest, test_cpp, cord/de, setjmp_test.