Skip to content

NUKE GYP#24

Open
illwieckz wants to merge 7 commits into
masterfrom
illwieckz/nuke-gyp
Open

NUKE GYP#24
illwieckz wants to merge 7 commits into
masterfrom
illwieckz/nuke-gyp

Conversation

@illwieckz

@illwieckz illwieckz commented Jul 24, 2026

Copy link
Copy Markdown
Member

NUKE GYP.


Disclaimer: the Makefile.am writing has been assisted by ChatGPT. By feeding the bot various dumps of GYP files, files generated by GYP and list of built files, and by iterating through some trial and errror process (mainly to fix some linkage ordering).

@illwieckz

illwieckz commented Jul 24, 2026

Copy link
Copy Markdown
Member Author

OIn my end make check builds everything but fails all the checks, but I'm guessing that's because I'm running Linux and the checks are Windows executables…

@slipher slipher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added one fixup commit for the crash_generation_app resources to your branch. With that fixup commit plus #25 everything builds OK.

make check results:

PASS: src/processor/address_map_unittest.exe
PASS: src/processor/contained_range_map_unittest.exe
PASS: src/processor/disassembler_x86_unittest.exe
PASS: src/processor/basic_source_line_resolver_unittest.exe
PASS: src/processor/cfi_frame_info_unittest.exe
PASS: src/common/test_assembler_unittest.exe
PASS: src/processor/map_serializers_unittest.exe
PASS: src/processor/minidump_processor_unittest.exe
PASS: src/processor/fast_source_line_resolver_unittest.exe
PASS: src/processor/exploitability_unittest.exe
PASS: src/processor/minidump_unittest.exe
PASS: src/processor/static_address_map_unittest.exe
PASS: src/processor/static_contained_range_map_unittest.exe
PASS: src/processor/pathname_stripper_unittest.exe
PASS: src/processor/static_map_unittest.exe
PASS: src/processor/static_range_map_unittest.exe
PASS: src/processor/microdump_processor_unittest.exe
PASS: src/processor/postfix_evaluator_unittest.exe
PASS: src/processor/proc_maps_linux_unittest.exe
PASS: src/processor/range_map_truncate_lower_unittest.exe
PASS: src/processor/range_map_unittest.exe
PASS: src/processor/range_map_truncate_upper_unittest.exe
PASS: src/processor/stackwalker_amd64_unittest.exe
PASS: src/processor/stackwalker_arm_unittest.exe
PASS: src/processor/stackwalker_arm64_unittest.exe
PASS: src/processor/stackwalker_address_list_unittest.exe
PASS: src/processor/stackwalker_mips_unittest.exe
PASS: src/processor/stackwalker_mips64_unittest.exe
PASS: src/processor/stackwalker_x86_unittest.exe
PASS: src/processor/synth_minidump_unittest.exe
FAIL: src/client/windows/unittests/client_tests.exe
PASS: src/processor/minidump_dump_test
PASS: src/processor/microdump_stackwalk_machine_readable_test
PASS: src/processor/microdump_stackwalk_test
PASS: src/processor/minidump_stackwalk_machine_readable_test
PASS: src/processor/minidump_stackwalk_test
============================================================================
Testsuite summary for breakpad 0.1
============================================================================
# TOTAL: 36
# PASS:  35
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

Comment thread Makefile.am Outdated
# Build Windows test binaries explicitly. check_PROGRAMS are normally only
# built by `make check`, so this target allows them to be included in normal
# Windows client builds.
.PHONY: windows-client-build windows-client-tests-build

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neither of the phony targets are needed:

  • The crash generation app is already built by default since you added it to bin_PROGRAMS. (I tested.)
  • It's not good to build the unit tests by default, particularly since the gtest dependency is not available without performing a manual action (downloading the repo or instructing configure to use an external version). Also this is only one randomly selected unit test binary out of the 36 that make check builds.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that was a lousy attempt to mimick the GYP behavior like its build_all target, though GYP was duplicating the autoconf toolchain, so we definitely don't have to keep such duplication when dropping GYP.

@illwieckz
illwieckz force-pushed the illwieckz/nuke-gyp branch from 7a8e7be to 5ebb112 Compare July 25, 2026 13:18
@illwieckz

illwieckz commented Jul 25, 2026

Copy link
Copy Markdown
Member Author

Speaking of the build_all GYP targets, GYP had that:

  • src/tools/windows/tools_windows.gyp
      'target_name': 'build_all',
      'type': 'none',
      'dependencies': [
        './converter/ms_symbol_server_converter.gyp:*',
        './converter_exe/converter.gyp:*',
        './dump_syms/dump_syms.gyp:*',
        './symupload/symupload.gyp:*',
      ],
  • src/client/windows/breakpad_client.gyp
      'target_name': 'build_all',
      'type': 'none',
      'dependencies': [
        './crash_generation/crash_generation.gyp:*',
        './handler/exception_handler.gyp:*',
        './sender/crash_report_sender.gyp:*',
        './unittests/client_tests.gyp:*',
        './unittests/testing.gyp:*',
        './tests/crash_generation_app/crash_generation_app.gyp:*',
      ]

The Makefile.am file only cared about breakpad_client.

But then after this PR we would have removed the GYP infrastructure to build tools_windows, that includes the MSVC dump_syms. So maybe we better don't NUKE GYP ENTIRELY yet, but NUKE GYP only for the things already taken care of by Makefile.am.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants