Skip to content

Latest commit

 

History

History
75 lines (74 loc) · 15.2 KB

repositories.md

File metadata and controls

75 lines (74 loc) · 15.2 KB

Below is a table that describes various repositories and how they do or don't work in this extension. The table is very wide, so make sure to scroll right and left to view the whole table.

Repository GitHub URL Prerequisites (commands to run in terminal before using Makefile Tools) Extension settings Notes Works? (Y/N)
8cc https://github.com/rui314/8cc.git Yes
Apache Thrift https://github.com/apache/thrift.git ./bootstrap.sh && ./configure always-make is long (triggers reconfigure) Yes
ARMmbedTLS https://github.com/remonbonbon/makefile-example.git Yes
async-profiler https://github.com/jvm-profiling-tools/async-profiler.git Yes
Bitcoin core integration/staging tree https://github.com/bitcoin/bitcoin.git always-make is long (triggers reconfigure) Yes
BusyBox https://github.com/mirror/busybox.git microsoft#92 Yes
CircuitPython https://github.com/adafruit/circuitpython Root folder board configuration
    "makefile.configurations": [
        {
            "name": "mpy-cross",
            "makeArgs": [
                "-C mpy-cross",
            ]
        },
        {
            "name": "circuitplayground_express",
            "makeArgs": [
                "-C ports/atmel-samd",
                "BOARD=circuitplayground_express"
            ]
        },
        {
            "name": "feather_m0_basic",
            "makeArgs": [
                "-C ports/atmel-samd",
                "BOARD=feather_m0_basic"
            ]
        }
    ]
}

Subfolder ports board configuration
"makefile.configurations": [
        {
            "name": "circuitplayground_express",
            "makeArgs": ["BOARD=circuitplayground_express"]
        }
    ]
Build guide: https://learn.adafruit.com/building-circuitpython/build-circuitpython
Configurations shared for building from the root or opening a ports subdirectory
Yes
clib https://github.com/clibs/clib Yes
c-lightning https://github.com/ElementsProject/lightning.git ./configure always-make is long (triggers reconfigure) Yes
Cmake https://github.com/Kitware/CMake.git  ./bootstrap doesn't detect launch targets because the linker commands are too cryptic, with or without V=1 Yes
CPython https://github.com/python/cpython.git ./configure Yes
ctypes.sh https://github.com/taviso/ctypes.sh.git ./autogen.sh && ./configure Yes
CURL https://github.com/curl/curl.git autoreconf -fiv && ./configure configure takes very long (even with always-make or buildLog workarounds)

microsoft#93
Yes
dpdk https://github.com/DPDK/dpdk.git No. Doesn't work because make calls into meson, ninja which don't provide useful output to parse
dtwmcmd https://github.com/cdesktopenv/dtwmcmd.git /.configure Yes
duktape https://github.com/svaarala/duktape.git Yes
Embedded Makefile Flow https://github.com/davepfeiffer/embedded-makefile-flow.git Yes
ffmpeg https://github.com/FFmpeg/FFmpeg.git ./configure
FIDO https://github.com/FidoProject/Fido.git minor issue (launch target finds an object file, not binary, for dryrun):
microsoft#94
Yes
FreeBSD https://github.com/freebsd/freebsd.git microsoft#95 No. BSD make syntax not yet supported
gcc https://github.com/gcc-mirror/gcc.git ./configure, set target to "all" specifically for more complete results Yes
Git https://github.com/git/git.git ./configure Yes
Google AFL https://github.com/google/AFL.git Yes
Google Protocol Buffers https://github.com/protocolbuffers/protobuf.git ./autogen.sh && ./configure Yes
Greenplum Database (GPDB) https://github.com/greenplum-db/gpdb.git ./configure --without-readline --without-zstd always-make is long (triggers reconfigure) Yes
imgui https://github.com/ocornut/imgui.git Create one wrapping makefile in root:
all:
   $(MAKE) -C ./examples/example_sdl_metal/
   $(MAKE) -C ./examples/example_glfw_metal/
   $(MAKE) -C ./examples/example_glfw_opengl2/
   $(MAKE) -C ./examples/example_null/
   $(MAKE) -C ./examples/example_glfw_opengl3/
   $(MAKE) -C ./examples/example_emscripten_opengl3/
   $(MAKE) -C ./examples/example_sdl_opengl2/
   $(MAKE) -C ./examples/example_glut_opengl2/
   $(MAKE) -C ./examples/example_sdl_opengl3/

Change ` back tick with shell command in many of these leaf makefiles. Example:
#  CXXFLAGS += `sdl2-config --cflags`
   CXXFLAGS += $(shell sdl2-config --cflags)
Yes
Jemalloc https://github.com/jemalloc/jemalloc.git ./autogen.sh && ./configure microsoft#96 Yes
Lbrycrd https://github.com/lbryio/lbrycrd.git ./autogen.sh && ./configure --with-incompatible-bdb The build needs V=1 to produce useful output for the extension.
Always-make is slow (triggers reconfigure).
Yes
libass https://github.com/libass/libass.git ./autogen.sh && ./configure microsoft#96 Yes
libav https://github.com/libav/libav.git ./configure microsoft#97 Yes
libsvm https://github.com/cjlin1/libsvm.git Yes
libtommath https://github.com/libtom/libtommath.git Yes
libtorrent https://github.com/rakshasa/libtorrent.git ./autogen.sh && ./configure Yes
linux kernel https://github.com/torvalds/linux make distclean defconfig clean Always-make may trigger reconfigure for some linux kernel setups.
When make is invoked by the exension (during configure or build) it may wait for user input indefiniely: watch for timeout bottom right popup.
Yes
lk https://github.com/littlekernel/lk.git makefile.configurations.makeArgs: PROJECT=armemu-test build.log has no commands, it's too cryptic even if V=1. dryrun doesn't have this problem.
dryrun has very long lines that makes parsing slow. Disable MAKECONFIGHEADER in make/macros.mk to fix.
Yes
lz4 https://github.com/lz4/lz4.git Yes
make https://github.com/mirror/make.git ./bootstrap && ./configure always-make is long (triggers reconfigure) Yes
Mesa 3d https://gitlab.freedesktop.org/mesa/mesa.git NOCONFIGURE=1 ./autogen.sh && ./configure --enable-llvm always-make is long (triggers reconfigure) Yes
micropython https://github.com/micropython/micropython.git Create wrapper makefile in the root folder:
all:
$(MAKE) -C ./mpy-cross
$(MAKE) submodules deplibs -C ./ports/unix
$(MAKE) -C ./ports/unix
$(MAKE) submodules -C ./ports/stm32
$(MAKE) -C ./ports/stm32
Needs a real build before the dryrun invoked by the configure (various resources are needed even by the dryrun)
Yes
Mono https://github.com/mono/mono.git ./autogen.sh && ./configure Can't use the build log because we don't support yet dolt (see split-fsharp.c). Dryrun produces useful output though.
microsoft#99
Always-make takes long (triggers reconfigure).
Yes
Nano https://github.com/madnight/nano.git ./autogen.sh && ./configure The build log is cryptic even with V=1 and the extension can't parse it. The dryrun log is fine though. Yes
NetBSD https://www.netbsd.org/ microsoft#95 No. BSD make syntax not yet supported
Node https://github.com/nodejs/node.git ./configure && /usr/bin/python3.7 tools/gyp_node.py -f make makefile.configurations.makeArgs: "BUILDTYPE=Debug -C out " Yes
OpenBSD https://www.openbsd.org/ microsoft#95 No. BSD make syntax not yet supported
openh264 https://github.com/cisco/openh264.git for build log, V=1 is more cryptic than without Yes
PCapPlusPlus https://github.com/seladb/PcapPlusPlus.git Various OS specific configure scripts in the root The build output is very cryptic even with v=1 Yes
PHP https://github.com/php/php-src.git ./buildconf && ./configure Yes
PostgreSQL https://github.com/postgres/postgres.git ./configure Headers squiggles without a real build before configure.
One file compiled many times differently (src/common/ip.c) during the all or default makefile target.
Yes
qemu https://github.com/qemu/qemu.git ./configure Yes
Recommender https://github.com/GHamrouni/Recommender.git Yes
Redis https://github.com/redis/redis.git Yes
Sample Makefile for C++ https://github.com/remonbonbon/makefile-example.git Yes
scummvm https://github.com/scummvm/scummvm.git ./configure --disable-all-engines --enable-engine=director --enable-asan the build log has no compilation/linker commands (with or without V=1) dryrun works fine Yes
semver.c https://github.com/h2non/semver.c.git Yes
SerenityOS https://github.com/SerenityOS/serenity.git Makefile not in root:
Define makefile.configurations.makefilePath to "./Base/home/anon/Source/little/Makefile" and define makefile.configurations.makeArgs to ["-C ./Base/home/anon/Source/little"]
Yes
sled https://github.com/shinyblink/sled.git Yes
Strace https://github.com/strace/strace.git ./bootstrap && ./configure build log cryptic even with V=1 Yes
swig https://github.com/swig/swig.git autogen and configure Always-make causes infinite loop
microsoft#98
Yes
Tinyvm https://github.com/jakogut/tinyvm.git Yes
TscanCode https://github.com/Tencent/TscanCode.git Makefile not in root, set makefile.configurations.makefilePath to "./trunk/Makefile"
and makefile.configurations.makeArgs" to ["-C ./trunk"]
Yes
Tundra https://github.com/deplinenoise/tundra.git Yes
ucx https://github.com/openucx/ucx.gitk ./auogen.sh && ./configure --disable-numa always-make very long (triggers reconfigure) Yes
UPX https://github.com/upx/upx.git Yes
vim https://github.com/vim/vim.git Yes
VLC https://github.com/videolan/vlc.git ./bootstrap && ./configure always-make long (triggers reconfigure).
the build log is offering limited informaion, needs dolt support. Dryrun output is fine.
microsoft#99
Yes
vlfeat https://github.com/vlfeat/vlfeat.git Yes
Wine https://github.com/wine-mirror/wine.git ./configure --without-x --without-freetype Yes
wiredtiger https://github.com/wiredtiger/wiredtiger.git ./autogen.sh && ./configure always-make very long (triggers reconfigure) Yes
ZFS https://github.com/openzfs/zfs.git ./autogen.sh && ./configure The build ouput is too cryptic (no commands) even with V=1
Bogus object launch target identified:
microsoft#94
Yes
zinit https://github.com/zdharma/zinit.git zmodules/configure makefile.configurations.makefilePath: "zmodules/makefile"
makefile.configurations.makeArgs: ["V=1", "-C zmodules"]
The output of the build is useless unless V=1 (dryrun output is fine without) Yes