Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
25a4035
fixing oasis file
Sep 20, 2012
3afb44c
A daemon to receive openflow configurations and a command line tool t…
Sep 23, 2012
fe5f1d2
switch now send a port_status when a port is added. Fixed parsing cod…
Sep 23, 2012
206220c
Adding new _oasis file for the additional source files. update build …
Sep 23, 2012
8b99c95
Extend the Datapath_join event definition
Sep 28, 2012
dbf75fc
synching with the mirage code
Oct 7, 2012
ae4e8d5
build library for native compilation
Oct 14, 2012
946fe9a
remove lib/openflow.mllib
Oct 14, 2012
0c453cb
fixing echo response code
Oct 14, 2012
c43fade
fix port state parsing
Oct 18, 2012
1ee1f87
nw_addr action had wrong size
Oct 18, 2012
16f0785
remove the requirement to compile the setup.ml file
crotsos Oct 26, 2012
52a2af2
disable apps of ocaml-openflow by default
crotsos Oct 26, 2012
dc37e81
change rpc library to rpclib
Nov 29, 2012
7720cce
merging
Nov 29, 2012
f4f7fff
Error in parsing packet in
Dec 4, 2012
82647f5
fixing switch working on macosx
Dec 15, 2012
5725b36
Fixing switch control tool
Dec 16, 2012
a328fe7
Fixing a name collision for a function
Dec 16, 2012
935e505
make switch connect to controller and retry on fail
Dec 17, 2012
2454446
fix am arshal error on pkt_in
Dec 17, 2012
7b25a11
bug fix on controller
Dec 17, 2012
db98ab6
Merge branch 'master' of github.com:crotsos/ocaml-openflow
Dec 17, 2012
7ec62d9
fixing the network mask length
Dec 17, 2012
7c10473
Adding local port handling, increase pkt_in size
Dec 17, 2012
9a8bc0f
adding support for flow export through the ofswitch_ctrl tool
Dec 23, 2012
290ae08
fixes
Dec 28, 2012
2433b56
use new cstruct API
Dec 28, 2012
50ce07a
Adding checksum calculation. Adding cache managment on flow insertion
Jan 6, 2013
3bf42cc
Adding usage details on the library
Jan 7, 2013
6854a12
Install basic_switch_lwt program and updte build files
Jan 7, 2013
40e27c6
quick hack to remove a mac problem faced with tap interfaces
Jan 11, 2013
07c10ed
xen backend fixes
Jan 13, 2013
6651fdb
fixing the code for unix backend
Jan 13, 2013
961dfa6
merging
Jan 13, 2013
d990a75
fixing compilation for xen
Jan 17, 2013
365151f
small fix
Jan 17, 2013
4ff3547
fixing flowvisor functionality
Jan 23, 2013
993d8f3
merging
Jan 23, 2013
1d21b71
Adding some logging code for ofswitch
Jan 24, 2013
3e1e1bc
fixing state caching on flowvisor module
Jan 24, 2013
9829796
fixing match compare function
Jan 26, 2013
6f3fdfa
fixing the source code
Jan 26, 2013
51b85d1
fixinfg the local connect idea on ofsocket and revert to new API
Jan 26, 2013
f121d0e
fixing compilation
Jan 29, 2013
d4c9ea2
removing some debugging info
Feb 26, 2013
78fed67
fixing queue scheduling in forwarding plane
crotsos Feb 28, 2013
cfd5440
add a verbose flag to reduce logging
crotsos Feb 28, 2013
68e50bd
remove second register for PORT_STATUS_CANGE events
crotsos Mar 5, 2013
67a21c8
fixing code for stats reply on flowvisor
crotsos Mar 6, 2013
2bbabbc
Updating flowvisor functionality
crotsos Apr 23, 2013
b0db6b9
merging with xen-test
crotsos Apr 23, 2013
819dfcb
fixing flowvisor to avoid a bad case of packet flooding
Apr 25, 2013
688e3da
synching with the latest version of the mirage-net code
Sep 16, 2013
04db4c1
adding merlin project file
Sep 16, 2013
f4d095e
Update _oasis
crotsos Sep 17, 2013
2356778
extract a portion of the ocamlgraph library and adding as a standalon…
Sep 21, 2013
203cfd0
splitting openflow functionality in 3 sublibraries
Sep 21, 2013
915d275
fixed unix-socket backed compilation
Sep 24, 2013
ba59b38
documenting and cleaning code for the switch module
Sep 25, 2013
7fa3019
decouple from the controller connect method the controller callback i…
Sep 25, 2013
438760a
fixing the build mechanism
Sep 25, 2013
ff95348
adding documentation and cleaning the controller code
Sep 25, 2013
7cb29d0
documenting the openflow socket module
Sep 25, 2013
c55a359
fixing ofswitch_config code
Sep 25, 2013
da0c60a
documenting flowvisor topology module and lldp parsing module
Sep 25, 2013
5fe1b98
adding comments on flowvisor interface
Sep 25, 2013
823a1a3
flowvisor cleaning up the code of the flowvisorw
Sep 26, 2013
4228f45
fixing unix backend example code
Sep 26, 2013
c215132
fixing support for unix backend and cleaning up library code
Sep 26, 2013
de22594
fixing xen examples
Sep 26, 2013
99cca0d
removing old files
Sep 26, 2013
66d5c6b
fixed examples using the openflow library and running over xen.
Sep 26, 2013
8c10424
fixing port removal on unix-direct and fixing the build files
Sep 27, 2013
5107885
merging
Sep 27, 2013
ed4976e
merging
Sep 27, 2013
c176ffd
partial update of readme and usage files
Sep 27, 2013
14b2a7a
merging with changes from mirage/master
Sep 27, 2013
cf1154d
commiting some performance improvement for the ofswitch
Oct 7, 2013
b6d34cc
fixing a bit the interface
Nov 11, 2013
5cfba62
remove tuntap requirement
Nov 11, 2013
9b0692d
fixing compilation
Nov 11, 2013
3785400
Fixing of switch to work with floodlight
Dec 13, 2013
d79336f
Fixing of switch to work with floodlight
Dec 13, 2013
dcda113
merging
Dec 13, 2013
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
208 changes: 208 additions & 0 deletions .exrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
if &cp | set nocp | endif
let s:cpo_save=&cpo
set cpo&vim
inoremap <silent> <Plug>(neocomplcache_start_omni_complete) 
inoremap <silent> <Plug>(neocomplcache_start_auto_complete_no_select) 
inoremap <silent> <Plug>(neocomplcache_start_auto_complete) =neocomplcache#mappings#popup_post()
inoremap <silent> <expr> <Plug>(neocomplcache_start_unite_quick_match) unite#sources#neocomplcache#start_quick_match()
inoremap <silent> <expr> <Plug>(neocomplcache_start_unite_complete) unite#sources#neocomplcache#start_complete()
inoremap <expr> <BS> neocomplcache#smart_close_popup()."\"
noremap  h
nmap  :NERDTreeToggle
noremap <NL> j
noremap  k
noremap  l
nmap OD h
nmap OC l
nmap OB j
nmap OA k
vnoremap = :call OcpIndentRange()
map == :call OcpIndentRange()
xmap S <Plug>VSurround
nmap [xx <Plug>unimpaired_line_xml_encode
xmap [x <Plug>unimpaired_xml_encode
nmap [x <Plug>unimpaired_xml_encode
nmap [uu <Plug>unimpaired_line_url_encode
xmap [u <Plug>unimpaired_url_encode
nmap [u <Plug>unimpaired_url_encode
nmap [yy <Plug>unimpaired_line_string_encode
xmap [y <Plug>unimpaired_string_encode
nmap [y <Plug>unimpaired_string_encode
nmap [p <Plug>unimpairedPutAbove
nnoremap [ox :set cursorline cursorcolumn
nnoremap [ow :set wrap
nnoremap [os :set spell
nnoremap [or :set relativenumber
nnoremap [on :set number
nnoremap [ol :set list
nnoremap [oi :set ignorecase
nnoremap [oh :set hlsearch
nnoremap [od :diffthis
nnoremap [ou :set cursorcolumn
nnoremap [oc :set cursorline
xmap [e <Plug>unimpairedMoveUp
nmap [e <Plug>unimpairedMoveUp
nmap [ <Plug>unimpairedBlankUp
omap [n <Plug>unimpairedContextPrevious
nmap [n <Plug>unimpairedContextPrevious
nmap [o <Plug>unimpairedOPrevious
nmap [f <Plug>unimpairedDirectoryPrevious
nmap <silent> [T <Plug>unimpairedTFirst
nmap <silent> [t <Plug>unimpairedTPrevious
nmap <silent> [ <Plug>unimpairedQPFile
nmap <silent> [Q <Plug>unimpairedQFirst
nmap <silent> [q <Plug>unimpairedQPrevious
nmap <silent> [ <Plug>unimpairedLPFile
nmap <silent> [L <Plug>unimpairedLFirst
nmap <silent> [l <Plug>unimpairedLPrevious
nmap <silent> [B <Plug>unimpairedBFirst
nmap <silent> [b <Plug>unimpairedBPrevious
nmap <silent> [A <Plug>unimpairedAFirst
nmap <silent> [a <Plug>unimpairedAPrevious
nnoremap \i :call OcpIndentBuffer()
vnoremap \i :call OcpIndentRange()
vmap <silent> \t :call Ocaml_print_type("visual")`<
nmap <silent> \t :call Ocaml_print_type("normal")
omap <silent> \t :call Ocaml_print_type("normal")
map \S :call OCaml_switch(1)
map \s :call OCaml_switch(0)
nmap \\u <Plug>CommentaryUndo
nmap \\\ <Plug>CommentaryLine
nmap \\ <Plug>Commentary
xmap \\ <Plug>Commentary
map \bta :!/usr/local/bin/ctags -R .
map \ta :TlistToggle
nmap ]xx <Plug>unimpaired_line_xml_decode
xmap ]x <Plug>unimpaired_xml_decode
nmap ]x <Plug>unimpaired_xml_decode
nmap ]uu <Plug>unimpaired_line_url_decode
xmap ]u <Plug>unimpaired_url_decode
nmap ]u <Plug>unimpaired_url_decode
nmap ]yy <Plug>unimpaired_line_string_decode
xmap ]y <Plug>unimpaired_string_decode
nmap ]y <Plug>unimpaired_string_decode
nmap ]p <Plug>unimpairedPutBelow
nnoremap ]ox :set nocursorline nocursorcolumn
nnoremap ]ow :set nowrap
nnoremap ]os :set nospell
nnoremap ]or :set norelativenumber
nnoremap ]on :set nonumber
nnoremap ]ol :set nolist
nnoremap ]oi :set noignorecase
nnoremap ]oh :set nohlsearch
nnoremap ]od :diffoff
nnoremap ]ou :set nocursorcolumn
nnoremap ]oc :set nocursorline
xmap ]e <Plug>unimpairedMoveDown
nmap ]e <Plug>unimpairedMoveDown
nmap ] <Plug>unimpairedBlankDown
omap ]n <Plug>unimpairedContextNext
nmap ]n <Plug>unimpairedContextNext
nmap ]o <Plug>unimpairedONext
nmap ]f <Plug>unimpairedDirectoryNext
nmap <silent> ]T <Plug>unimpairedTLast
nmap <silent> ]t <Plug>unimpairedTNext
nmap <silent> ] <Plug>unimpairedQNFile
nmap <silent> ]Q <Plug>unimpairedQLast
nmap <silent> ]q <Plug>unimpairedQNext
nmap <silent> ] <Plug>unimpairedLNFile
nmap <silent> ]L <Plug>unimpairedLLast
nmap <silent> ]l <Plug>unimpairedLNext
nmap <silent> ]B <Plug>unimpairedBLast
nmap <silent> ]b <Plug>unimpairedBNext
nmap <silent> ]A <Plug>unimpairedALast
nmap <silent> ]a <Plug>unimpairedANext
nnoremap cox :set =&cursorline && &cursorcolumn ? 'nocursorline nocursorcolumn' : 'cursorline cursorcolumn'
nnoremap cod :=&diff ? 'diffoff' : 'diffthis'
nmap cs <Plug>Csurround
nmap ds <Plug>Dsurround
nmap gx <Plug>NetrwBrowseX
nmap gcu <Plug>CommentaryUndo
nmap gcc <Plug>CommentaryLine
nmap gc <Plug>Commentary
xmap gc <Plug>Commentary
xmap gS <Plug>VgSurround
nmap ySS <Plug>YSsurround
nmap ySs <Plug>YSsurround
nmap yss <Plug>Yssurround
nmap yS <Plug>YSurround
nmap ys <Plug>Ysurround
nnoremap <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cWORD>"),0)
nnoremap <silent> <Plug>(vimshell_create) :VimShellCreate
nnoremap <silent> <Plug>(vimshell_switch) :VimShell
xnoremap <silent> <Plug>unimpairedMoveDown :exe 'exe "normal! m`"|''<,''>move''>+'.v:count1``
xnoremap <silent> <Plug>unimpairedMoveUp :exe 'exe "normal! m`"|''<,''>move--'.v:count1``
nmap <silent> <Plug>unimpairedOPrevious <Plug>unimpairedDirectoryPrevious:echohl WarningMSG|echo "[o is deprecated. Use [f"|echohl NONE
nmap <silent> <Plug>unimpairedONext <Plug>unimpairedDirectoryNext:echohl WarningMSG|echo "]o is deprecated. Use ]f"|echohl NONE
nnoremap <silent> <Plug>unimpairedTLast :exe "".(v:count ? v:count : "")."tlast"
nnoremap <silent> <Plug>unimpairedTFirst :exe "".(v:count ? v:count : "")."tfirst"
nnoremap <silent> <Plug>unimpairedTNext :exe "".(v:count ? v:count : "")."tnext"
nnoremap <silent> <Plug>unimpairedTPrevious :exe "".(v:count ? v:count : "")."tprevious"
nnoremap <silent> <Plug>unimpairedQNFile :exe "".(v:count ? v:count : "")."cnfile"
nnoremap <silent> <Plug>unimpairedQPFile :exe "".(v:count ? v:count : "")."cpfile"
nnoremap <silent> <Plug>unimpairedQLast :exe "".(v:count ? v:count : "")."clast"
nnoremap <silent> <Plug>unimpairedQFirst :exe "".(v:count ? v:count : "")."cfirst"
nnoremap <silent> <Plug>unimpairedQNext :exe "".(v:count ? v:count : "")."cnext"
nnoremap <silent> <Plug>unimpairedQPrevious :exe "".(v:count ? v:count : "")."cprevious"
nnoremap <silent> <Plug>unimpairedLNFile :exe "".(v:count ? v:count : "")."lnfile"
nnoremap <silent> <Plug>unimpairedLPFile :exe "".(v:count ? v:count : "")."lpfile"
nnoremap <silent> <Plug>unimpairedLLast :exe "".(v:count ? v:count : "")."llast"
nnoremap <silent> <Plug>unimpairedLFirst :exe "".(v:count ? v:count : "")."lfirst"
nnoremap <silent> <Plug>unimpairedLNext :exe "".(v:count ? v:count : "")."lnext"
nnoremap <silent> <Plug>unimpairedLPrevious :exe "".(v:count ? v:count : "")."lprevious"
nnoremap <silent> <Plug>unimpairedBLast :exe "".(v:count ? v:count : "")."blast"
nnoremap <silent> <Plug>unimpairedBFirst :exe "".(v:count ? v:count : "")."bfirst"
nnoremap <silent> <Plug>unimpairedBNext :exe "".(v:count ? v:count : "")."bnext"
nnoremap <silent> <Plug>unimpairedBPrevious :exe "".(v:count ? v:count : "")."bprevious"
nnoremap <silent> <Plug>unimpairedALast :exe "".(v:count ? v:count : "")."last"
nnoremap <silent> <Plug>unimpairedAFirst :exe "".(v:count ? v:count : "")."first"
nnoremap <silent> <Plug>unimpairedANext :exe "".(v:count ? v:count : "")."next"
nnoremap <silent> <Plug>unimpairedAPrevious :exe "".(v:count ? v:count : "")."previous"
nnoremap <silent> <Plug>SurroundRepeat .
nnoremap <F4> :call UpdateTags()
inoremap <expr>  neocomplcache#cancel_popup()
imap S <Plug>ISurround
imap s <Plug>Isurround
inoremap <expr>  neocomplcache#undo_completion()
inoremap <expr>  neocomplcache#smart_close_popup()."\"
inoremap <expr>  pumvisible() ? "\" : "\ "
inoremap <expr>  neocomplcache#complete_common_string()
imap  <Plug>Isurround
inoremap <expr>  neocomplcache#close_popup()
imap OD hi
imap OC li
imap OB ji
imap OA ki
let &cpo=s:cpo_save
unlet s:cpo_save
set autoindent
set autoread
set backspace=2
set completefunc=neocomplcache#complete#manual_complete
set completeopt=menuone
set noequalalways
set expandtab
set fileencodings=ucs-bom,utf-8,default,latin1
set helplang=en
set history=50
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set omnifunc=merlin#Complete
set printoptions=paper:a4
set ruler
set runtimepath=~/.vim/bundle/vundle,~/.vim/bundle/vim-pathogen,~/.vim/bundle/vim-colors-solarized,~/.vim/bundle/vim-fugitive,~/.vim/bundle/nerdtree,~/.vim/bundle/vim-surround,~/.vim/bundle/tabular,~/.vim/bundle/vim-unimpaired,~/.vim/bundle/vim-endwise,~/.vim/bundle/syntastic,~/.vim/bundle/gist-vim,~/.vim/bundle/grep.vim,~/.vim/bundle/vim-commentary,~/.vim/bundle/minibufexpl.vim,~/.vim/bundle/OmniCppComplete,~/.vim/bundle/c.vim,~/.vim/bundle/vim-diff,~/.vim/bundle/detectindent,~/.vim/bundle/vimshell.vim,~/.vim/bundle/neocomplcache,~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim73,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after,~/.vim/bundle/vundle/,~/.vim/bundle/vundle/after,~/.vim/bundle/vim-pathogen/after,~/.vim/bundle/vim-colors-solarized/after,~/.vim/bundle/vim-fugitive/after,~/.vim/bundle/nerdtree/after,~/.vim/bundle/vim-surround/after,~/.vim/bundle/tabular/after,~/.vim/bundle/vim-unimpaired/after,~/.vim/bundle/vim-endwise/after,~/.vim/bundle/syntastic/after,~/.vim/bundle/gist-vim/after,~/.vim/bundle/grep.vim/after,~/.vim/bundle/vim-commentary/after,~/.vim/bundle/minibufexpl.vim/after,~/.vim/bundle/OmniCppComplete/after,~/.vim/bundle/c.vim/after,~/.vim/bundle/vim-diff/after,~/.vim/bundle/detectindent/after,~/.vim/bundle/vimshell.vim/after,~/.vim/bundle/neocomplcache/after,~/.opam/4.00.1/share/ocamlmerlin/vim,~/.opam/4.00.1/share/ocamlmerlin/vimbufsync
set shiftwidth=2
set smartcase
set smarttab
set softtabstop=2
set statusline=\ %{HasPaste()}%<%-15.25(%f%)%m%r%h\ %w\ \ \ \ \ [%{&ff}/%Y]\ \ \ %<%20.30(%{hostname()}:%{CurDir()}%)\ %=%-10.(%l,%c%V%)\ %p%%/%L
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
set textwidth=80
set timeoutlen=500
set title
set titlestring=%F\ -\ Vim
set updatetime=1500
set wildignore=*.o,*.class,*.pdf,*._aux,*.aux,*.bbl,*.big,*.brf,*.blg,*.dvi,*.div,*.ilg,*.lof,*.log,*._log,*.nlo,*.nls,*.out,*.ps,*.tdo,*.tex.project.vim,*.toc
" vim: set ft=vim :
Expand Down
5 changes: 5 additions & 0 deletions .merlin
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
PKG lwt mirage mirage-net cstruct ipaddr
S ./lib
S ./controller
S ./switch
B _build/lib
1 change: 1 addition & 0 deletions .ocp-indent
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
syntax = lwt
67 changes: 40 additions & 27 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,58 @@ all: build
NAME=openflow
J=4

LWT ?= $(shell if ocamlfind query lwt.ssl >/dev/null 2>&1; then echo --enable-lwt; fi)
MIRAGE ?= $(shell if ocamlfind query mirage-net >/dev/null 2>&1; then echo --enable-mirage; fi)
ifeq ($(MIRAGE_OS),xen)
XEN ?= --enable-xen
endif
UNIX ?= $(shell if [ $(MIRAGE_OS) = "unix" ]; then echo --enable-unix; else echo --disable-unix; fi)
DIRECT ?= $(shell if [ $(MIRAGE_NET) = "direct" ]; then echo --enable-direct; else echo --disable-direct; fi)
XEN ?= $(shell if [ $(MIRAGE_OS) = "xen" ]; then echo --enable-xen; else echo --disable-xen; fi)
caml_path ?= $(shell ocamlfind printconf path)

# MIRAGE = --enable-mirage

-include Makefile.config

clean: setup.data
./setup.bin -clean $(OFLAGS)
rm -f setup.data setup.log setup.bin
setup.ml: _oasis
oasis setup

setup.data: setup.ml
ocaml setup.ml -configure $(UNIX) $(XEN) $(DIRECT)

clean: setup.data
ocaml setup.ml -clean $(OFLAGS)
rm -f setup.data setup.log setup.ml

distclean: setup.data
./setup.bin -distclean $(OFLAGS)
rm -f setup.data setup.log setup.bin
distclean: setup.ml setup.data
ocaml setup.ml -distclean $(OFLAGS)
rm -f setup.data setup.log setup.ml

setup: setup.data

build: setup.data $(wildcard lib/*.ml)
./setup.bin -build -j $(J) $(OFLAGS)

doc: setup.data setup.bin
./setup.bin -doc -j $(J) $(OFLAGS)
ocaml setup.ml -build -cflags -bin-annot -j $(J) $(OFLAGS) $(DR)
ifeq ($(MIRAGE_OS), xen)
ld -d -nostdlib -m elf_x86_64 -T $(caml_path)/mirage-xen/mirage-x86_64.lds \
$(caml_path)/mirage-xen/x86_64.o _build/switch/xen_switch.nobj.o \
$(caml_path)/mirage-xen/libocaml.a $(caml_path)/mirage-xen/libxen.a \
$(caml_path)/mirage-xen/libxencaml.a $(caml_path)/mirage-xen/libdiet.a \
$(caml_path)/mirage-xen/libm.a $(caml_path)/mirage-xen/longjmp.o \
-o ofswitch.xen

ld -d -nostdlib -m elf_x86_64 -T $(caml_path)/mirage-xen/mirage-x86_64.lds \
$(caml_path)/mirage-xen/x86_64.o _build/controller/xen_controller.nobj.o \
$(caml_path)/mirage-xen/libocaml.a $(caml_path)/mirage-xen/libxen.a \
$(caml_path)/mirage-xen/libxencaml.a $(caml_path)/mirage-xen/libdiet.a \
$(caml_path)/mirage-xen/libm.a $(caml_path)/mirage-xen/longjmp.o \
-o ofcontroller.xen

endif

doc: setup.data setup.ml
ocaml setup.ml -doc -j $(J) $(OFLAGS)

install:
ocamlfind remove $(NAME)
./setup.bin -install $(OFLAGS)
ocaml setup.ml -install $(OFLAGS)

test: build
./setup.bin -test

##
ocaml setup.ml -test

setup.bin: setup.ml
ocamlopt.opt -o $@ $< || ocamlopt -o $@ $< || ocamlc -o $@ $<
rm -f setup.cmx setup.cmi setup.o setup.cmo

setup.ml: _oasis
oasis setup

setup.data: setup.bin
./setup.bin -configure $(LWT) $(MIRAGE) $(XEN) --enable-tests
1 change: 0 additions & 1 deletion Makefile.config

This file was deleted.

Loading