Skip to content

rebar compile doesn't create cl_drv.so file #11

@nivertech

Description

@nivertech

Running rebar compile doesn't compile native code in the same way sa make does.

Running rebar clean compile does create priv/cl_drv.so, but cl app expect it to be under lib/{release,debug}/{32,64}.

I think the more standard way is to have everything under priv.

[cl (zvi_rebar_getdeps_220112)]$ make clean
(cd c_src; make clean)
make[1]: Entering directory `/home/zvi/ws/cl/c_src'
make clean_internal TYPE=release WORDSIZE=32
make[2]: Entering directory `/home/zvi/ws/cl/c_src'
rm -f ../obj/release/32/*.o
rm -f ../lib/release/32/*.so
make[2]: Leaving directory `/home/zvi/ws/cl/c_src'
make clean_internal TYPE=debug   WORDSIZE=32
make[2]: Entering directory `/home/zvi/ws/cl/c_src'
rm -f ../obj/debug/32/*.o
rm -f ../lib/debug/32/*.so
make[2]: Leaving directory `/home/zvi/ws/cl/c_src'
make clean_internal TYPE=release WORDSIZE=64
make[2]: Entering directory `/home/zvi/ws/cl/c_src'
rm -f ../obj/release/64/*.o
rm -f ../lib/release/64/*.so
make[2]: Leaving directory `/home/zvi/ws/cl/c_src'
make clean_internal TYPE=debug   WORDSIZE=64
make[2]: Entering directory `/home/zvi/ws/cl/c_src'
rm -f ../obj/debug/64/*.o
rm -f ../lib/debug/64/*.so
make[2]: Leaving directory `/home/zvi/ws/cl/c_src'
make[1]: Leaving directory `/home/zvi/ws/cl/c_src'
(cd src; make clean)
make[1]: Entering directory `/home/zvi/ws/cl/src'
rm -f ../ebin/cl.beam ../ebin/clu.beam
make[1]: Leaving directory `/home/zvi/ws/cl/src'
[cl (zvi_rebar_getdeps_220112)]$ rebar compile
==> cl (compile)
Compiled src/clu.erl
Compiled src/cl.erl
[cl (zvi_rebar_getdeps_220112)]$ rebar clean compile
==> cl (clean)
==> cl (compile)
Compiled src/clu.erl
Compiled src/cl.erl
Compiling c_src/cl_hash.c
Compiling c_src/cl_nif.c

cl_drv.so under priv created:

[cl (zvi_rebar_getdeps_220112)]$ ls priv/
cl_drv.so

but all the other folders are empty:

[cl (zvi_rebar_getdeps_220112)]$ ls {lib,obj}/*/*
lib/debug/32:

lib/debug/64:

lib/release/32:

lib/release/64:

obj/debug/32:

obj/debug/64:

obj/release/32:

obj/release/64:
[cl (zvi_rebar_getdeps_220112)]$ 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions