Age | Commit message (Collapse) | Author |
|
After a lot of soul searching and experiments, I am opting
to using curl for fetching files. It works with very little
manipulation on all supported systems. Some might need it
installed, but most come with it.
While wget was working, it had TLS validation deactivated
because some users didn't have CA certificates on their
system or wget was not configured properly. This does not
seem to be a problem with curl as far as I tested, in
particular on OSX.
The fallback to use Erlang was also insecure, and probably
not the best idea. Let's keep things simple. Curl is required.
|
|
We always want the most recent version and only this.
|
|
.. to fetch and list deps recurvively.
Therefore, they work on direct dependencies, dependencies' dependencies,
and so on. Nothing is built with those targets.
The following targets are also available to work on other kinds of
dependencies:
make fetch-doc-deps
make fetch-rel-deps
make fetch-test-deps
make fetch-shell-deps
make list-doc-deps
make list-rel-deps
make list-test-deps
make list-shell-deps
In all cases, they include "normal" and eg. "test" dependencies of the
top-level project, then only "normal" dependencies' dependencies.
It's possible to include several kinds in one go:
make fetch-deps DEP_TYPES='doc test'
make list-deps DEP_TYPES='doc test'
As it may be difficult to use the output of `make list-*` because
the list could appear after other targets output (like dependencies
fetching), the list is available in files pointed by the following
variables:
$(ERLANG_MK_RECURSIVE_DEPS_LIST)
$(ERLANG_MK_RECURSIVE_DOC_DEPS_LIST)
$(ERLANG_MK_RECURSIVE_REL_DEPS_LIST)
$(ERLANG_MK_RECURSIVE_TEST_DEPS_LIST)
$(ERLANG_MK_RECURSIVE_SHELL_DEPS_LIST)
Internally, `list-deps` is simply implemented on top of `fetch-deps`:
the latter fills a sorted log with all the directories it traversed.
`list-deps` finally just prints the log file to stdout.
Fixes #560.
|
|
|
|
Safer than through insecure HTTPS.
|
|
|
|
|
|
This allows to add standard keys which do not have a corresponding
`PROJECT_` Makefile variable, as well as non-standard keys.
|
|
|
|
|
|
|
|
|
|
A warning will be displayed for the time being while we keep
compatibility.
Also improves installation docs for Unix.
|
|
|
|
DTL_SUFFIX:
- make sure it is actually used
- add a test for it (and one combined with other options)
DTL_PATH:
- handle correctly with or without trailing /
- don't hard-code the `doc_root` opt - the erlydtl default is better
|
|
|
|
Fix #587
|
|
|
|
|
|
|
|
|
|
erlexec now requires that particular name in order to successfully boot.
|
|
This change makes it possible to override the ERL_CFLAGS and ERL_LDFLAGS
Makefile variables in project dependencies. For the main project, the
ability to override variables associated with C compilation already
existed in plugins/c_src.mk. With this change, the C compiler flag
semantics are similar for both the main project and dependencies.
This is important for cases where the automatically determined values
for the ERTS include and library directories are incorrect. This happens
in cross-compiled environments where they point to the host's include
and library directories. However, the desired behaviour is to have them
point to those that have been cross-compiled for the target.
|
|
|
|
|
|
This reverts commit d5c32474e0690a32371fb8fb0b5d2db2c567269b.
|
|
This should fix some Windows issues.
|
|
|
|
We need to clean before attempting to wildcard ebin/test.
To do that, we need to invoke "make clean" separately.
|
|
https://github.com/rabbitmq/erlang.mk
|
|
|
|
|
|
|
|
Splitting arguments on `-` was dangerous: if a path contained such a
character, it would be split and the second half thrown away by the
filtering.
Now, `$(ERLC_OPTS)` is passed to erl(1) after `-extra`. Thus
arguments parsing is done by the shell and we only have to call
init:get_plain_arguments/0 to get them as a list.
|
|
|
|
1.1.1 didn't exist, so I put master for now.
|
|
|
|
|
|
|
|
|
|
Replicating the behavior for deps/*.
With refactoring from Loïc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create ebin dir for all apps_dir apps before building any of them.
|