From f953482aeb5fecdc3d7f1aca3c3990c4baebcf90 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Fri, 29 May 2026 12:08:16 +0200 Subject: [PATCH 1/3] [afterimage] mv to builtins subdir, for consistency with other builtins even if it's a hard-coded builtin --- {graf2d/asimage/src => builtins}/libAfterImage/CMakeLists.txt | 3 +++ {graf2d/asimage/src => builtins}/libAfterImage/afterbase.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/afterbase.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/afterimage.h | 0 .../asimage/src => builtins}/libAfterImage/afterrootpngwrite.c | 0 .../asimage/src => builtins}/libAfterImage/afterrootpngwrite.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/ascmap.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/ascmap.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/asfont.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/asfont.h | 0 .../asimage/src => builtins}/libAfterImage/asim_afterbase.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/asimage.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/asimage.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/asstorage.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/asstorage.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/asvisual.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/asvisual.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/blender.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/blender.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/bmp.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/bmp.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/char2uni.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/char2uni.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/colornames.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/draw.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/draw.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/export.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/export.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/imencdec.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/imencdec.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/import.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/import.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/scanline.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/scanline.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/test_mmx.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/transform.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/transform.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/ungif.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/ungif.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/xcf.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/xcf.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/ximage.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/ximage.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/xpm.c | 0 {graf2d/asimage/src => builtins}/libAfterImage/xpm.h | 0 {graf2d/asimage/src => builtins}/libAfterImage/xwrap.h | 0 graf2d/asimage/CMakeLists.txt | 2 +- 47 files changed, 4 insertions(+), 1 deletion(-) rename {graf2d/asimage/src => builtins}/libAfterImage/CMakeLists.txt (92%) rename {graf2d/asimage/src => builtins}/libAfterImage/afterbase.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/afterbase.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/afterimage.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/afterrootpngwrite.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/afterrootpngwrite.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/ascmap.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/ascmap.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asfont.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asfont.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asim_afterbase.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asimage.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asimage.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asstorage.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asstorage.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asvisual.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/asvisual.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/blender.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/blender.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/bmp.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/bmp.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/char2uni.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/char2uni.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/colornames.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/draw.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/draw.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/export.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/export.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/imencdec.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/imencdec.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/import.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/import.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/scanline.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/scanline.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/test_mmx.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/transform.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/transform.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/ungif.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/ungif.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/xcf.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/xcf.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/ximage.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/ximage.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/xpm.c (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/xpm.h (100%) rename {graf2d/asimage/src => builtins}/libAfterImage/xwrap.h (100%) diff --git a/graf2d/asimage/src/libAfterImage/CMakeLists.txt b/builtins/libAfterImage/CMakeLists.txt similarity index 92% rename from graf2d/asimage/src/libAfterImage/CMakeLists.txt rename to builtins/libAfterImage/CMakeLists.txt index b222de5d13b6b..08802b96b04dc 100644 --- a/graf2d/asimage/src/libAfterImage/CMakeLists.txt +++ b/builtins/libAfterImage/CMakeLists.txt @@ -4,6 +4,9 @@ # For the licensing terms see $ROOTSYS/LICENSE. # For the list of contributors see $ROOTSYS/README/CREDITS. +# Forked from libAfterImage-20080306, see https://github.com/root-project/root/commit/20399dbaeada26020134297a42d3b1b0e9ac0878 +# This builtin is hard-coded, we do not ever use system libafterimage since it's missing many patches for ROOT to work correctly + project(AfterImage) set(LIB_NAME libAfterImage) diff --git a/graf2d/asimage/src/libAfterImage/afterbase.c b/builtins/libAfterImage/afterbase.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/afterbase.c rename to builtins/libAfterImage/afterbase.c diff --git a/graf2d/asimage/src/libAfterImage/afterbase.h b/builtins/libAfterImage/afterbase.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/afterbase.h rename to builtins/libAfterImage/afterbase.h diff --git a/graf2d/asimage/src/libAfterImage/afterimage.h b/builtins/libAfterImage/afterimage.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/afterimage.h rename to builtins/libAfterImage/afterimage.h diff --git a/graf2d/asimage/src/libAfterImage/afterrootpngwrite.c b/builtins/libAfterImage/afterrootpngwrite.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/afterrootpngwrite.c rename to builtins/libAfterImage/afterrootpngwrite.c diff --git a/graf2d/asimage/src/libAfterImage/afterrootpngwrite.h b/builtins/libAfterImage/afterrootpngwrite.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/afterrootpngwrite.h rename to builtins/libAfterImage/afterrootpngwrite.h diff --git a/graf2d/asimage/src/libAfterImage/ascmap.c b/builtins/libAfterImage/ascmap.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/ascmap.c rename to builtins/libAfterImage/ascmap.c diff --git a/graf2d/asimage/src/libAfterImage/ascmap.h b/builtins/libAfterImage/ascmap.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/ascmap.h rename to builtins/libAfterImage/ascmap.h diff --git a/graf2d/asimage/src/libAfterImage/asfont.c b/builtins/libAfterImage/asfont.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/asfont.c rename to builtins/libAfterImage/asfont.c diff --git a/graf2d/asimage/src/libAfterImage/asfont.h b/builtins/libAfterImage/asfont.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/asfont.h rename to builtins/libAfterImage/asfont.h diff --git a/graf2d/asimage/src/libAfterImage/asim_afterbase.h b/builtins/libAfterImage/asim_afterbase.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/asim_afterbase.h rename to builtins/libAfterImage/asim_afterbase.h diff --git a/graf2d/asimage/src/libAfterImage/asimage.c b/builtins/libAfterImage/asimage.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/asimage.c rename to builtins/libAfterImage/asimage.c diff --git a/graf2d/asimage/src/libAfterImage/asimage.h b/builtins/libAfterImage/asimage.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/asimage.h rename to builtins/libAfterImage/asimage.h diff --git a/graf2d/asimage/src/libAfterImage/asstorage.c b/builtins/libAfterImage/asstorage.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/asstorage.c rename to builtins/libAfterImage/asstorage.c diff --git a/graf2d/asimage/src/libAfterImage/asstorage.h b/builtins/libAfterImage/asstorage.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/asstorage.h rename to builtins/libAfterImage/asstorage.h diff --git a/graf2d/asimage/src/libAfterImage/asvisual.c b/builtins/libAfterImage/asvisual.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/asvisual.c rename to builtins/libAfterImage/asvisual.c diff --git a/graf2d/asimage/src/libAfterImage/asvisual.h b/builtins/libAfterImage/asvisual.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/asvisual.h rename to builtins/libAfterImage/asvisual.h diff --git a/graf2d/asimage/src/libAfterImage/blender.c b/builtins/libAfterImage/blender.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/blender.c rename to builtins/libAfterImage/blender.c diff --git a/graf2d/asimage/src/libAfterImage/blender.h b/builtins/libAfterImage/blender.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/blender.h rename to builtins/libAfterImage/blender.h diff --git a/graf2d/asimage/src/libAfterImage/bmp.c b/builtins/libAfterImage/bmp.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/bmp.c rename to builtins/libAfterImage/bmp.c diff --git a/graf2d/asimage/src/libAfterImage/bmp.h b/builtins/libAfterImage/bmp.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/bmp.h rename to builtins/libAfterImage/bmp.h diff --git a/graf2d/asimage/src/libAfterImage/char2uni.c b/builtins/libAfterImage/char2uni.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/char2uni.c rename to builtins/libAfterImage/char2uni.c diff --git a/graf2d/asimage/src/libAfterImage/char2uni.h b/builtins/libAfterImage/char2uni.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/char2uni.h rename to builtins/libAfterImage/char2uni.h diff --git a/graf2d/asimage/src/libAfterImage/colornames.h b/builtins/libAfterImage/colornames.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/colornames.h rename to builtins/libAfterImage/colornames.h diff --git a/graf2d/asimage/src/libAfterImage/draw.c b/builtins/libAfterImage/draw.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/draw.c rename to builtins/libAfterImage/draw.c diff --git a/graf2d/asimage/src/libAfterImage/draw.h b/builtins/libAfterImage/draw.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/draw.h rename to builtins/libAfterImage/draw.h diff --git a/graf2d/asimage/src/libAfterImage/export.c b/builtins/libAfterImage/export.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/export.c rename to builtins/libAfterImage/export.c diff --git a/graf2d/asimage/src/libAfterImage/export.h b/builtins/libAfterImage/export.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/export.h rename to builtins/libAfterImage/export.h diff --git a/graf2d/asimage/src/libAfterImage/imencdec.c b/builtins/libAfterImage/imencdec.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/imencdec.c rename to builtins/libAfterImage/imencdec.c diff --git a/graf2d/asimage/src/libAfterImage/imencdec.h b/builtins/libAfterImage/imencdec.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/imencdec.h rename to builtins/libAfterImage/imencdec.h diff --git a/graf2d/asimage/src/libAfterImage/import.c b/builtins/libAfterImage/import.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/import.c rename to builtins/libAfterImage/import.c diff --git a/graf2d/asimage/src/libAfterImage/import.h b/builtins/libAfterImage/import.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/import.h rename to builtins/libAfterImage/import.h diff --git a/graf2d/asimage/src/libAfterImage/scanline.c b/builtins/libAfterImage/scanline.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/scanline.c rename to builtins/libAfterImage/scanline.c diff --git a/graf2d/asimage/src/libAfterImage/scanline.h b/builtins/libAfterImage/scanline.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/scanline.h rename to builtins/libAfterImage/scanline.h diff --git a/graf2d/asimage/src/libAfterImage/test_mmx.c b/builtins/libAfterImage/test_mmx.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/test_mmx.c rename to builtins/libAfterImage/test_mmx.c diff --git a/graf2d/asimage/src/libAfterImage/transform.c b/builtins/libAfterImage/transform.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/transform.c rename to builtins/libAfterImage/transform.c diff --git a/graf2d/asimage/src/libAfterImage/transform.h b/builtins/libAfterImage/transform.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/transform.h rename to builtins/libAfterImage/transform.h diff --git a/graf2d/asimage/src/libAfterImage/ungif.c b/builtins/libAfterImage/ungif.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/ungif.c rename to builtins/libAfterImage/ungif.c diff --git a/graf2d/asimage/src/libAfterImage/ungif.h b/builtins/libAfterImage/ungif.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/ungif.h rename to builtins/libAfterImage/ungif.h diff --git a/graf2d/asimage/src/libAfterImage/xcf.c b/builtins/libAfterImage/xcf.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/xcf.c rename to builtins/libAfterImage/xcf.c diff --git a/graf2d/asimage/src/libAfterImage/xcf.h b/builtins/libAfterImage/xcf.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/xcf.h rename to builtins/libAfterImage/xcf.h diff --git a/graf2d/asimage/src/libAfterImage/ximage.c b/builtins/libAfterImage/ximage.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/ximage.c rename to builtins/libAfterImage/ximage.c diff --git a/graf2d/asimage/src/libAfterImage/ximage.h b/builtins/libAfterImage/ximage.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/ximage.h rename to builtins/libAfterImage/ximage.h diff --git a/graf2d/asimage/src/libAfterImage/xpm.c b/builtins/libAfterImage/xpm.c similarity index 100% rename from graf2d/asimage/src/libAfterImage/xpm.c rename to builtins/libAfterImage/xpm.c diff --git a/graf2d/asimage/src/libAfterImage/xpm.h b/builtins/libAfterImage/xpm.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/xpm.h rename to builtins/libAfterImage/xpm.h diff --git a/graf2d/asimage/src/libAfterImage/xwrap.h b/builtins/libAfterImage/xwrap.h similarity index 100% rename from graf2d/asimage/src/libAfterImage/xwrap.h rename to builtins/libAfterImage/xwrap.h diff --git a/graf2d/asimage/CMakeLists.txt b/graf2d/asimage/CMakeLists.txt index 5c45f2bc1ee4d..cf8ea2d1e84ee 100644 --- a/graf2d/asimage/CMakeLists.txt +++ b/graf2d/asimage/CMakeLists.txt @@ -9,7 +9,7 @@ # @author Pere Mato, CERN ############################################################################ -add_subdirectory(src/libAfterImage) +add_subdirectory(../../builtins/libAfterImage) ROOT_STANDARD_LIBRARY_PACKAGE(ASImage NO_INSTALL_HEADERS From fc2ca4e8927674c81e2b325aaa8d907e472457f2 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Fri, 29 May 2026 12:29:10 +0200 Subject: [PATCH 2/3] [cmake] include from searchsoftware --- cmake/modules/SearchInstalledSoftware.cmake | 2 ++ graf2d/asimage/CMakeLists.txt | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake index fb3ba29c6804a..8d82877b4b376 100644 --- a/cmake/modules/SearchInstalledSoftware.cmake +++ b/cmake/modules/SearchInstalledSoftware.cmake @@ -380,6 +380,8 @@ if(asimage) get_target_property(TIFF_LIBRARY_LOCATION TIFF::TIFF IMPORTED_LOCATION) endif() list(APPEND ASEXTRA_LIBRARIES TIFF::TIFF) + + add_subdirectory(builtins/libAfterImage) # It's a hard-coded builtin, was forked in 2008, system-wide version misses many patches endif() #---Check for Python installation------------------------------------------------------- diff --git a/graf2d/asimage/CMakeLists.txt b/graf2d/asimage/CMakeLists.txt index cf8ea2d1e84ee..11c05cd2d1614 100644 --- a/graf2d/asimage/CMakeLists.txt +++ b/graf2d/asimage/CMakeLists.txt @@ -9,8 +9,6 @@ # @author Pere Mato, CERN ############################################################################ -add_subdirectory(../../builtins/libAfterImage) - ROOT_STANDARD_LIBRARY_PACKAGE(ASImage NO_INSTALL_HEADERS HEADERS From 1efda23fbba08981d5e787bab24e189826192c2c Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Fri, 29 May 2026 12:42:48 +0200 Subject: [PATCH 3/3] [asimage] cleanup target dependencies libafterimage target_link cmake interface will take care of it --- graf2d/asimage/CMakeLists.txt | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/graf2d/asimage/CMakeLists.txt b/graf2d/asimage/CMakeLists.txt index 11c05cd2d1614..8f835cc7e16ad 100644 --- a/graf2d/asimage/CMakeLists.txt +++ b/graf2d/asimage/CMakeLists.txt @@ -23,13 +23,8 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ASImage DICTIONARY_OPTIONS -writeEmptyRootPCM LIBRARIES - libAfterImage - JPEG::JPEG - PNG::PNG - GIF::GIF libAfterImage Freetype::Freetype - ZLIB::ZLIB DEPENDENCIES Core Graf @@ -52,18 +47,9 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ASImageGui -writeEmptyRootPCM LIBRARIES libAfterImage - ${ASEXTRA_LIBRARIES} - ${FREETYPE_LIBRARIES} - ${X11_LIBRARIES} - ZLIB::ZLIB DEPENDENCIES Gui ASImage ) -target_link_libraries(ASImageGui PRIVATE JPEG::JPEG PNG::PNG GIF::GIF libAfterImage Freetype::Freetype) -if (x11) - target_link_libraries(ASImageGui PRIVATE X11::X11) -endif() - ROOT_INSTALL_HEADERS()