Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

splits oasis multipackages into sub-packages #1164

Merged
merged 10 commits into from
Jul 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions configure-omake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

rm -f _oasis
mv oasis/benchmarks oasis/benchmarks.backup
mv oasis/piqi oasis/piqi.backup
mv oasis/piqi-printers oasis/piqi-printers.backup
mv oasis/common oasis/common.backup
cp oasis/common.omake oasis/common
SECTIONS=`ocaml tools/oasis_sections.ml --sections --enable-everything`
Expand All @@ -12,7 +12,7 @@ ocaml tools/cat.ml '"\n# $name\n"' -- $SECTIONS $AB _oasis
ocaml tools/cat.ml '"\n#1 \"$name\"\n"' -- $SETUPS setup.ml.in setup.ml
cp oasis/common.backup oasis/common
cp oasis/benchmarks.backup oasis/benchmarks
cp oasis/piqi.backup oasis/piqi
cp oasis/piqi-printers.backup oasis/piqi-printers
sed -i 's/.*Build$.*//' _oasis
sed -i 's/.*CCOpt:.*//' _oasis
sed -i 's/.*CCLib:.*//' _oasis
Expand Down
6 changes: 3 additions & 3 deletions oasis/elf → oasis/elf-loader
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
########## Bap_elf Library ########################
Flag elf
Flag elf_loader
Description: Build Bap_elf library
Default: false

Library elf
Path: lib/bap_elf
Build$: flag(everything) || flag(elf)
Build$: flag(everything) || flag(elf_loader)
FindlibName: bap-elf
BuildDepends: bitstring, bitstring.ppx, regular, core_kernel, ppx_jane
Modules: Bap_elf
Expand All @@ -19,7 +19,7 @@ Library elf

Library elf_loader_plugin
Path: plugins/elf_loader
Build$: flag(everything) || flag(elf)
Build$: flag(everything) || flag(elf_loader)
FindlibName: bap-plugin-elf_loader
CompiledObject: best
BuildDepends: bap, bap-elf, bap-dwarf, core_kernel, regular, ppx_jane
Expand Down
4 changes: 2 additions & 2 deletions oasis/ida-plugin → oasis/emit-ida-script
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Flag ida_plugin
Flag emit_ida_script
Description: Build IDA plugin
Default: false

Library emit_ida_script_plugin
Build$: flag(everything) || flag(ida_plugin)
Build$: flag(everything) || flag(emit_ida_script)
Path: plugins/emit_ida_script
FindlibName: bap-plugin-emit_ida_script
BuildDepends: bap, core_kernel, ppx_jane, regular
Expand Down
13 changes: 13 additions & 0 deletions oasis/legacy-llvm
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

Flag legacy_llvm
Description: Build with legacy llvm backend
Default: false

Library legacy_llvm_plugin
XMETADescription: provide legacy loader using LLVM library
Path: plugins/legacy_llvm
Build$: flag(legacy_llvm)
BuildDepends: bap, bap-llvm, core_kernel
FindlibName: bap-plugin-legacy_llvm
InternalModules: Legacy_loader_main
XMETAExtraLines: tags="legacy, llvm, loader, elf, macho, coff"
12 changes: 0 additions & 12 deletions oasis/llvm
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ Flag llvm_static
Description: Links with llvm in a static mode
Default: true

Flag llvm_legacy
Description: Build with legacy llvm backend
Default: false

Library bap_llvm
Path: lib/bap_llvm
Expand Down Expand Up @@ -70,12 +67,3 @@ Library llvm_plugin
InternalModules: Llvm_main
BuildDepends: bap, bap-llvm, bap-main, core_kernel
XMETAExtraLines: tags="disassembler, llvm, loader, elf, macho, coff"

Library legacy_llvm_plugin
XMETADescription: provide legacy loader using LLVM library
Path: plugins/legacy_llvm
Build$: flag(llvm_legacy)
BuildDepends: bap, bap-llvm, core_kernel
FindlibName: bap-plugin-legacy_llvm
InternalModules: Legacy_loader_main
XMETAExtraLines: tags="legacy, llvm, loader, elf, macho, coff"
13 changes: 7 additions & 6 deletions oasis/piqi → oasis/piqi-printers
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
######################## Piqi library and plugin #############################
Flag piqi
Description: Build piqi serialization library
Flag piqi_printers
Description: Build piqi serialization library and plugin
Default: false

Library "bap-piqi"
Path: lib/bap_piqi
Build$: flag(everything) || flag(piqi)
Build$: flag(everything) || flag(piqi_printers)
FindLibName: bap-piqi
BuildTools: ocamlbuild, piqi
DataFiles: *.piqi
Expand All @@ -20,23 +20,24 @@ Library "bap-piqi"

Library piqi_printers_plugin
Path: plugins/piqi_printers
Build$: flag(everything) || flag(piqi)
Build$: flag(everything) || flag(piqi_printers)
FindlibName: bap-plugin-piqi_printers
CompiledObject: native
BuildDepends: bap-piqi
InternalModules: Piqi_printers_main
XMETADescription: provides piqi serialization for main data types (BIL, IR)
XMETAExtraLines: tags="printer, serialization"


Executable run_piqi_tests
Path: lib/bap_piqi/test
Build$: flag(tests) && (flag(everything) || flag(piqi))
Build$: flag(tests) && (flag(everything) || flag(piqi_printers))
CompiledObject: best
BuildDepends: bap, oUnit, bap-piqi
Install: false
MainIs: run_piqi_tests.ml

Test piqi_tests
TestTools: run_piqi_tests
Run$: flag(tests) && (flag(everything) || flag(piqi))
Run$: flag(tests) && (flag(everything) || flag(piqi_printers))
Command: $run_piqi_tests -runner sequential
File renamed without changes.
File renamed without changes.
13 changes: 13 additions & 0 deletions oasis/primus-exploring
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Flag primus_exploring
Description: build Primus exploring scheduler
Default: false

Library primus_exploring_scheduler_plugin
Path: plugins/primus_exploring
Build$: flag(everything) || flag(primus_exploring)
FindlibName: bap-plugin-primus_exploring
CompiledObject: best
BuildDepends: bap, bap-primus, core_kernel, monads, bap-future
XMETADescription: evaluates all machines, prioritizing the least visited
Modules: Primus_exploring_main
XMETAExtraLines: tags="primus, scheduler"
13 changes: 13 additions & 0 deletions oasis/primus-greedy
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Flag primus_greedy
Description: build Primus greedy scheduler
Default: false

Library primus_greedy_scheduler_plugin
Path: plugins/primus_greedy
Build$: flag(everything) || flag(primus_greedy)
FindlibName: bap-plugin-primus_greedy
CompiledObject: best
BuildDepends: bap, bap-primus, core_kernel, monads
XMETADescription: evaluates all machines in the DFS order
Modules: Primus_greedy_main
XMETAExtraLines: tags="primus, scheduler"
13 changes: 13 additions & 0 deletions oasis/primus-limit
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Flag primus_limit
Description: build Primus limit plugin
Default: false

Library primus_limit
Path: plugins/primus_limit
Build$: flag(everything) || flag(primus_limit)
FindlibName: bap-plugin-primus_limit
CompiledObject: best
BuildDepends: bap, bap-primus, bap, core_kernel, monads, bap-future, regular
XMETADescription: ensures termination by limiting Primus machines
Modules: Primus_limit_main
XMETAExtraLines: tags="primus"
14 changes: 14 additions & 0 deletions oasis/primus-loader
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Flag primus_loader
Description: build Primus loader
Default: false

Library primus_loader_plugin
Path: plugins/primus_loader
Build$: flag(everything) || flag(primus_loader)
FindlibName: bap-plugin-primus_loader
CompiledObject: best
BuildDepends: bap, bap-primus, core_kernel, ogre, ppx_jane
XMETADescription: generic program loader for Primus
Modules: Primus_loader_main
InternalModules: Primus_loader_basic
XMETAExtraLines: tags="abi, loader, primus"
13 changes: 13 additions & 0 deletions oasis/primus-mark-visited
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Flag primus_mark_visited
Description: build Primus mark visited plugin
Default: false

Library primus_mark_visited_plugin
Path: plugins/primus_mark_visited
Build$: flag(everything) || flag(primus_mark_visited)
FindlibName: bap-plugin-primus_mark_visited
CompiledObject: best
BuildDepends: bap-main, bap, bap-primus, bap-primus-track-visited
XMETADescription: registers the bap:mark-visited component
InternalModules: Primus_mark_visited_main
XMETAExtraLines: tags="primus"
13 changes: 13 additions & 0 deletions oasis/primus-print
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Flag primus_print
Description: build Primus print plugin
Default: false

Library primus_print_plugin
Path: plugins/primus_print
Build$: flag(everything) || flag(primus_print)
FindlibName: bap-plugin-primus_print
CompiledObject: best
BuildDepends: bap-primus, bare, bap, core_kernel, ppx_jane, bap-future, monads
XMETADescription: prints Primus states and observations
Modules: Primus_print_main
XMETAExtraLines: tags="primus, printer"
13 changes: 13 additions & 0 deletions oasis/primus-promiscuous
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Flag primus_promiscuous
Description: build Primus promiscuous plugin
Default: false

Library primus_promiscuous_plugin
Path: plugins/primus_promiscuous
Build$: flag(everything) || flag(primus_promiscuous)
FindlibName: bap-plugin-primus_promiscuous
CompiledObject: best
BuildDepends: bap, bap-primus, core_kernel, monads
XMETADescription: enables the promiscuous mode of execution
Modules: Primus_promiscuous_main
XMETAExtraLines: tags="primus, fuzz"
14 changes: 14 additions & 0 deletions oasis/primus-propagate-taint
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

Flag primus_propagate_taint
Description: Build primus-propagate-taint plugin
Default: false

Library primus_propagate_taint_plugin
Path: plugins/primus_propagate_taint
Build$: flag(everything) || flag(primus_propagate_taint)
FindlibName: bap-plugin-primus_propagate_taint
CompiledObject: best
BuildDepends: bap-primus, bap-taint, core_kernel, bap, monads, ppx_jane
XMETADescription: a compatibility layer between different taint analysis frameworks
InternalModules: Primus_propagate_taint_main
XMETAExtraLines: tags="dataflow, pass, taint, primus"
14 changes: 14 additions & 0 deletions oasis/primus-round-robin
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Flag primus_round_robin
Description: build Primus round robin scheduler
Default: false


Library primus_round_robin_scheduler_plugin
Path: plugins/primus_round_robin
Build$: flag(everything) || flag(primus_round_robin)
FindlibName: bap-plugin-primus_round_robin
CompiledObject: best
BuildDepends: bap, bap-primus, core_kernel, monads, bap-future
XMETADescription: evaluates all machines in the BFS order
Modules: Primus_round_robin_main
XMETAExtraLines: tags="primus, scheduler"
105 changes: 0 additions & 105 deletions oasis/primus-support

This file was deleted.

15 changes: 15 additions & 0 deletions oasis/primus-taint
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

Flag primus_taint
Description: Build primus-taint plugin
Default: false

Library primus_taint_plugin
Path: plugins/primus_taint
Build$: flag(everything) || flag(primus_taint)
FindlibName: bap-plugin-primus_taint
CompiledObject: best
BuildDepends: bap-primus, bap-taint, bap, core_kernel, regular, monads
XMETADescription: a taint analysis control interface
DataFiles: lisp/*.lisp ($primus_taint_lisp_path)
InternalModules: Primus_taint_main, Primus_taint_policies
XMETAExtraLines: tags="dataflow, pass, taint, primus, primus-lisp"
File renamed without changes.
Loading