Skip to content

Commit ddd16cc

Browse files
committed
Remove make-dylan-app, document dylan-tool
dylan-tool has now subsumed all make-dylan-app functionality. This is a _minimal_ replacement of make-dylan-app, but before #1457 is fixed, the Getting Started with CLI docs should be updated to recommend using dylan-tool in general, rather than git submodules.
1 parent 18e4197 commit ddd16cc

19 files changed

+107
-294
lines changed

BUILDING.rst

+14-11
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ back-end.
7070
Building
7171
--------
7272

73-
To build ``dylan-compiler``, ``make-dylan-app``, and several tools::
73+
To build :program:`dylan-compiler` and several tools::
7474

7575
export PATH=$(dirname $(which dylan-compiler)):$PATH
7676
./autogen.sh
@@ -98,11 +98,11 @@ can point it in the right direction by using ``--with-gc``::
9898

9999
./configure --prefix=/opt/opendylan-current --with-gc=/path/to/boehm
100100

101-
By default, this will build a fully bootstrapped compiler with the
102-
first generation in ``Bootstrap.1/bin/dylan-compiler``, the second
103-
generation in ``Bootstrap.2/bin/dylan-compiler``, and the third in
104-
``Bootstrap.3/bin/dylan-compiler``. The third generation will then be
105-
installed as ``/opt/opendylan-current/bin/dylan-compiler``.
101+
By default, this will build a fully bootstrapped compiler with the first
102+
generation in :file:`Bootstrap.1/bin/dylan-compiler`, the second generation in
103+
:file:`Bootstrap.2/bin/dylan-compiler`, and the third in
104+
:file:`Bootstrap.3/bin/dylan-compiler`. The third generation will then be
105+
installed as :file:`/opt/opendylan-current/bin/dylan-compiler`.
106106

107107
Running Tests
108108
-------------
@@ -113,7 +113,10 @@ complete::
113113
make check
114114

115115
This runs the tests for the core language implementation as well as for many
116-
bundled libraries.
116+
bundled libraries. You may also want to run the
117+
``dfmc-environment-test-suite``, with ::
118+
119+
make check-environment
117120

118121
Windows
119122
=======
@@ -135,7 +138,7 @@ Windows
135138

136139
* Please keep in mind that paths with whitespaces are not well supported.
137140

138-
* cd into build\\windows and run::
141+
* cd into :file:`build\\windows` and run::
139142

140143
build-release.bat <target-dir> /sources <git-checkout>\sources /internal
141144

@@ -147,7 +150,7 @@ IDE in <target-dir>.
147150
* Get NSIS from http://nsis.sf.net and the HTML help workshop (from
148151
Microsoft, to generate the chm).
149152

150-
* Go to packages\\win32-nsis, read Build.txt and follow the
151-
instructions. Make sure you are using the same command shell as
152-
used for building Open Dylan (to retain environment variables).
153+
* Go to :file:`packages\\win32-nsis`, read :file:`Build.txt` and follow the
154+
instructions. Make sure you are using the same command shell as used for
155+
building Open Dylan (to retain environment variables).
153156

Makefile.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ cli2:
189189
BOOTSTRAP_3_ROOT = $(abs_builddir)/Bootstrap.3
190190

191191
BOOTSTRAP_3_LIBRARIES = \
192-
dylan-compiler dylan-environment parser-compiler dswank make-dylan-app
192+
dylan-compiler dylan-environment parser-compiler dswank
193193
BOOTSTRAP_3_STATICS = \
194194
dylan-tool
195195

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ Verify that the downloaded version is working correctly by building a
1616
hello-world binary:
1717

1818
```
19-
make-dylan-app hello-world
19+
dylan new application --simple hello-world
2020
cd hello-world
21-
dylan-compiler -build hello-world
21+
dylan build --all
2222
_build/bin/hello-world
2323
```
2424

build/windows/Makefile

+7-7
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ SIMPLE_DAYTIME_CLIENT_SOURCE = $(NETWORK_EXAMPLES_SOURCE)\simple-daytime-client
302302
SIMPLE_DAYTIME_CLIENT_INSTALL_DIRECTORY = $(NETWORK_EXAMPLES_INSTALL_DIRECTORY)\simple-daytime-client
303303
SIMPLE_DAYTIME_SERVER_SOURCE = $(NETWORK_EXAMPLES_SOURCE)\simple-daytime-server
304304
SIMPLE_DAYTIME_SERVER_INSTALL_DIRECTORY = $(NETWORK_EXAMPLES_INSTALL_DIRECTORY)\simple-daytime-server
305-
MAKE_DYLAN_APP_SOURCE = $(APP_DIRECTORY)\make-dylan-app
305+
DYLAN_TOOL_SOURCE = $(APP_DIRECTORY)\dylan-tool
306306

307307
#
308308
# CORBA projects
@@ -381,7 +381,7 @@ PARSER_COMPILER = $(INSTALL_BIN_DIRECTORY)\parser-compiler.exe
381381
TESTWORKS_REPORT = $(INSTALL_BIN_DIRECTORY)\testworks-report.exe
382382
WIN32_ENVIRONMENT = $(INSTALL_BIN_DIRECTORY)\win32-environment.exe
383383
WITH_SPLASH_SCREEN = $(INSTALL_BIN_DIRECTORY)\with-splash-screen.exe
384-
MAKE_DYLAN_APP = $(INSTALL_BIN_DIRECTORY)\make-dylan-app.exe
384+
DYLAN_TOOL = $(INSTALL_BIN_DIRECTORY)\dylan-tool.exe
385385

386386
BIG_INTEGERS_DLL = $(RUNTIME_PREFIX)bigint
387387
CHANNELS_DLL = $(RUNTIME_PREFIX)chnnls
@@ -754,7 +754,7 @@ devel-dbg-ui: $(DEVEL_DBG_UI)
754754
dll-wrap: $(DLL_WRAP)
755755
parser-compiler: $(PARSER_COMPILER)
756756
testworks-report: $(TESTWORKS_REPORT)
757-
make-dylan-app: $(MAKE_DYLAN_APP)
757+
dylan-tool: $(DYLAN_TOOL)
758758

759759
project-manager-libraries: tools-interface user-projects
760760
core-compiler-libraries: file-source-records release-info dood binary-manager coff-manager binary-builder coff-builder build-system parser-run-time dfmc-management dfmc-browser-support project-manager-libraries dfmc-debug-back-end
@@ -1073,7 +1073,7 @@ rel-environment: dylan-environment win32-environment with-splash-screen
10731073
libraries: user-libraries win32-libraries duim ole-libraries duim-ole database-libraries network dylan-orb naming-client midi
10741074
example-projects: console-example-projects duim-example-projects win32-example-projects ole-example-projects duim-ole-example-projects network-example-projects corba-example-projects
10751075
install-examples: install-examples-css install-console-examples install-duim-examples install-win32-examples install-basic-doc-examples install-templates install-database-examples install-ole-examples install-duim-ole-examples install-network-examples install-corba-examples install-enhanced-doc-examples install-midi-examples
1076-
tools: install-wdbgdylan dll-wrap dylan-playground gui-dylan-playground create-id console-scepter naming-service remote-debugger testworks-libraries debugger parser-compiler make-dylan-app
1076+
tools: install-wdbgdylan dll-wrap dylan-playground gui-dylan-playground create-id console-scepter naming-service remote-debugger testworks-libraries debugger parser-compiler dylan-tool
10771077
release: release-info dylan-compiler-with-tools compiler environment rel-environment libraries tools install-runtime-dlls install-examples
10781078

10791079
reinstall-examples:
@@ -2000,13 +2000,13 @@ $(TESTWORKS_REPORT):
20002000
$(ENSURE_SOURCES) testworks-report $(TESTWORKS_REPORT_SOURCE)
20012001
$(BUILD_APPLICATION) testworks-report
20022002

2003-
$(MAKE_DYLAN_APP):
2003+
$(DYLAN_TOOL):
20042004
$(ENSURE_RUNTIME_LIBRARY) $(COMMON_DYLAN_DLL) common-dylan
20052005
$(ENSURE_RUNTIME_LIBRARY) $(IO_DLL) io
20062006
$(ENSURE_RUNTIME_LIBRARY) $(SYSTEM_DLL) system
20072007
$(ENSURE_RUNTIME_LIBRARY) $(STRINGS_DLL) strings
2008-
$(ENSURE_SOURCES) make-dylan-app $(MAKE_DYLAN_APP_SOURCE)
2009-
$(BUILD_APPLICATION) make-dylan-app
2008+
$(ENSURE_SOURCES) dylan-tool $(DYLAN_TOOL_SOURCE)
2009+
$(BUILD_APPLICATION) dylan-tool
20102010

20112011
# Test Suites
20122012

documentation/getting-started-cli/source/dylan-mode-for-emacs.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ you put dylan-mode. ::
2727
Setting ``OPEN_DYLAN_USER_REGISTRIES`` is important because that's how
2828
DIME finds your projects.
2929

30-
For this tutorial let's use a "dime-test" project created with
31-
``make-dylan-app``. See the section :doc:`hello-world` to create the
30+
For this tutorial let's use a "dime-test" project created with the
31+
``dylan`` tool. See the section :doc:`hello-world` to create the
3232
project, and also make sure you have a registry entry for it. See
3333
:doc:`source-registries` if you're not sure how to set that up.
3434

@@ -37,7 +37,7 @@ project, and also make sure you have a registry entry for it. See
3737
$ export PATH=/opt/opendylan/bin:$PATH
3838
$ cd ...dir containing registry...
3939
$ echo abstract://dylan/dime-test/dime-test.lid > registry/generic/dime-test
40-
$ make-dylan-app dime-test
40+
$ dylan new application --simple dime-test
4141
$ cd dime-test
4242
$ emacs dime-test.dylan
4343
M-x dime <Enter>

documentation/getting-started-cli/source/hello-world.rst

+29-25
Original file line numberDiff line numberDiff line change
@@ -6,52 +6,56 @@ how do you write the canonical Hello World app? This example assumes the
66
``bash`` shell is used. You may need to adjust for your local shell. ::
77

88
$ export PATH=/opt/opendylan/bin:$PATH
9-
$ make-dylan-app hello-world
9+
$ dylan new application --simple hello-world
1010
$ cd hello-world
1111
$ dylan-compiler -build hello-world.lid
1212
...lots of output...
1313
$ _build/bin/hello-world
1414
Hello, world!
1515

16-
Ta da! Now a quick review of the steps with a little bit of
17-
explanation.
16+
Ta da! Now a quick review of the steps with a little bit of explanation.
1817

19-
First you must set ``PATH`` so that ``make-dylan-app`` and
20-
``dylan-compiler`` will be found. ``./_build/bin`` is where
21-
dylan-compiler puts the executables it builds.
18+
First you must set ``PATH`` so that the :program:`dylan` and
19+
:program:`dylan-compiler` commands will be found. ``./_build/bin`` is where
20+
:program:`dylan-compiler` puts the executables it builds.
2221

2322
.. note:: Some of these differ on Windows, so please be sure
2423
to read :doc:`windows` if you are on Windows.
2524
:class: alert alert-block alert-warning
2625

27-
``make-dylan-app`` creates a directory with the same name as the
28-
project, and four files:
26+
:program:`dylan` creates a directory with the same name as the project, and
27+
several files:
2928

30-
1. ``hello-world.lid`` -- This says what other files are part of the project.
31-
The order in which the files are listed here determines the order in which
32-
the code in them is executed.
29+
1. :file:`hello-world.lid` -- This says what other files are part of the
30+
project. The order in which the files are listed here determines the order
31+
in which the code in them is executed.
3332

34-
2. ``library.dylan`` contains the library and module definitions. These can be
35-
extended as your project grows more complex.
33+
2. :file:`library.dylan` contains the library and module definitions. These
34+
can be extended as your project grows more complex.
3635

37-
3. ``hello-world.dylan`` contains the main program. Note that the last
36+
3. :file:`hello-world.dylan` contains the main program. Note that the last
3837
top-level definition is a call to the main function, which may have any
3938
name; there is no predefined "main" function that is automatically called.
4039

41-
4. ``registry/<platform>/hello-world`` is a "registry file", which contains the
42-
path to the ``hello-world.lid`` file.
40+
4. :file:`registry/{platform}/hello-world` is a "registry file", which contains
41+
the path to the :file:`hello-world.lid` file.
42+
43+
5. :file:`dylan-package.json` is a JSON file that describes the package you're
44+
working on, in this case "hello-world". This is where you can specify
45+
dependencies, the package location, etc. See the `dylan-tool documentation
46+
<https://docs.opendylan.org/packages/dylan-tool/documentation/source/index.html>`_
47+
for more on this.
4348

4449
The first time you build ``hello-world`` it builds all used libraries, all the
4550
way down to the ``dylan`` library itself. Subsequent compiles only need to
4651
recompile ``hello-world`` itself and are therefore much faster.
4752

48-
``dylan-compiler`` has a batch mode and an interactive mode. The ``-build``
49-
option says to build the project in batch mode. When you pass a ".lid" file to
50-
the compiler it builds the library described by that file. In the next section
51-
you'll see that you can also pass the name of the project (without ".lid") and
52-
it will use "registries" to find the project sources.
53+
:program:`dylan-compiler` has a batch mode and an interactive mode. The
54+
``-build`` option says to build the project in batch mode. When you pass a
55+
".lid" file to the compiler it builds the library described by that file. In
56+
the next section you'll see that you can also pass the name of the project
57+
(without ".lid") and it will use "registries" to find the project sources.
5358

54-
The compiler places its output in the ``_build`` directory in the
55-
current working directory. This includes the libraries and executables
56-
that it builds. You can run the executable as noted above from this
57-
location.
59+
The compiler places its output in the ``_build`` directory in the current
60+
working directory. This includes the libraries and executables that it builds.
61+
You can run the executable from this location, as noted above.

documentation/getting-started-cli/source/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ the Open Dylan IDE
1010
<https://opendylan.org/documentation/getting-started-ide/>`_.
1111

1212
The compiler executable is called ``dylan-compiler``. There is a helper
13-
application called ``make-dylan-app``, which can be used to generate some
13+
application called :program:`dylan`, which can be used to generate some
1414
boilerplate for a new project, and finally there's ``DIME`` and ``dswank``, a
1515
pair of tools for interactive development in Emacs. This document describes
1616
these tools.
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
Using Source Registries
22
=======================
33

4-
Passing the name of a ".lid" file to ``dylan-compiler`` works great when you
5-
have a single library that only uses other libraries that are part of Open
4+
Passing the name of a ".lid" file to :program:`dylan-compiler` works great when
5+
you have a single library that only uses other libraries that are part of Open
66
Dylan, but what if you want to use a second library that you wrote yourself or
7-
that you installed from GitHub? How will ``dylan-compiler`` find the sources
8-
for that library? The answer is registries. For each Dylan library that isn't
9-
part of Open Dylan itself, you create a file in the registry that points to the
10-
".lid" file for the library. For example, here's the registry file for
11-
hello-world, created in the previous section. Note that this assumes you are
12-
still in the directory created by ``make-dylan-app``::
13-
14-
$ cat ./registry/generic/hello-world
7+
that you installed from GitHub? How will :program:`dylan-compiler` find the
8+
sources for that library? The answer is registries. For each Dylan library
9+
that isn't part of Open Dylan itself, you create a file in the registry that
10+
points to the ".lid" file for the library. For example, here's the registry
11+
file for hello-world, created in the previous section. Note that this assumes
12+
you are still in the directory created by :command:`dylan new application`::
13+
14+
$ cat ./registry/{platform}/hello-world # substitute your platform
1515
abstract://dylan/hello-world.lid
1616

1717
What's going on here? First of all, the registry mechanism makes it possible
18-
to have platform specific libraries. Anything platform-independent (like our
19-
hello-world example) goes under the "generic" directory. Other supported
20-
platform names are ``x86_64-freebsd``, ``x86_64-linux``, ``x86-win32``,
21-
etc. For a full list see `the Open Dylan registry
18+
to have platform-specific libraries. Anything platform-independent can go
19+
under the :file:`generic` directory. Other supported platform names are
20+
``x86_64-freebsd``, ``x86_64-linux``, ``x86-win32``, etc. For a full list see
21+
`the Open Dylan registry
2222
<https://github.com/dylan-lang/opendylan/tree/master/sources/registry>`_.
2323

2424
Platform-specific registry directories are searched before the
@@ -31,30 +31,30 @@ Now let's look at the actual content of our hello-world registry file::
3131
abstract://dylan/hello-world.lid
3232

3333
What this is doing is locating a file *relative to the directory containing the
34-
registry directory itself*. If the "registry" directory is
34+
registry directory itself*. If the :file:`registry` directory is
3535
``/home/you/xyz/registry`` then ``abstract://dylan/hello-world.lid`` says the
3636
hello-world ".lid" file is in ``/home/you/xyz/hello-world.lid``.
3737
"abstract://dylan/" is just boilerplate.
3838

39-
When you invoke ``dylan-compiler`` in the directory **containing** the
39+
When you invoke :program:`dylan-compiler` in the directory containing the
4040
"registry" directory it automatically uses that registry, in addition to (and
4141
taking precedence over) the registry in the Open Dylan installation directory.
4242

4343
If you prefer to invoke the compiler from elsewhere, you can set the
44-
``OPEN_DYLAN_USER_REGISTRIES`` environment variable to point your registry
45-
directory. For example::
44+
:envvar:`OPEN_DYLAN_USER_REGISTRIES` environment variable to point your
45+
registry directory. For example::
4646

4747
$ export OPEN_DYLAN_USER_REGISTRIES=/home/you/xyz/registry
4848

49-
Once you've set ``OPEN_DYLAN_USER_REGISTRIES`` to your new registry,
50-
``dylan-compiler`` can find the hello-world library source no matter what
51-
directory you're currently working in. You only need to specify the library
52-
name::
49+
Once you've set :envvar:`OPEN_DYLAN_USER_REGISTRIES` to your new registry,
50+
:program:`dylan-compiler` can find the hello-world library source no matter
51+
what directory you're currently working in. You only need to specify the
52+
library name::
5353

5454
$ cd /tmp
5555
$ dylan-compiler -build hello-world
5656

57-
You can add more than one registry to ``OPEN_DYLAN_USER_REGISTRIES`` by
57+
You can add more than one registry to :envvar:`OPEN_DYLAN_USER_REGISTRIES` by
5858
separating them with colons (Unix) or semicolons (Windows)::
5959

6060
$ export OPEN_DYLAN_USER_REGISTRIES=/my/registry:/their/registry

documentation/man-pages/source/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@
218218
man_pages = [
219219
('dylan-compiler', 'dylan-compiler', u'Dylan Compiler',
220220
[u'Dylan Hackers'], 1),
221-
('make-dylan-app', 'make-dylan-app', u'Simple Dylan project generator',
221+
('dylan', 'dylan', u'Dylan workspace/package management tool',
222222
[u'Dylan Hackers'], 1)
223223
]
224224

documentation/man-pages/source/dylan-compiler.rst

+3-5
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,10 @@ The following options are among those available:
2525

2626
See ``dylan-compiler -help`` for a full listing of the options.
2727

28-
See the *Open Dylan Console Environment* section of the *Getting
29-
Started* guide for more details on the usage of the ``dylan-compiler``
30-
command line tool.
28+
See https://opendylan.org/documentation/getting-started-cli/ for more
29+
details on the usage of the ``dylan-compiler`` command line tool.
3130

3231
SEE ALSO
3332
========
3433

35-
``make-dylan-app(1)``
36-
34+
``dylan(1)``
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
=====
2+
dylan
3+
=====
4+
5+
SYNOPSIS
6+
========
7+
8+
::
9+
10+
dylan [global options] subcommand... [options] args...
11+
12+
DESCRIPTION
13+
===========
14+
15+
``dylan`` is a tool to create and maintain Dylan packages and invoke the
16+
Dylan compiler.
17+
18+
19+
SEE ALSO
20+
========
21+
22+
``dylan-compiler(1)``

documentation/man-pages/source/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Contents:
1212
:maxdepth: 2
1313

1414
dylan-compiler
15-
make-dylan-app
15+
dylan
1616

1717

1818
Indices and tables

0 commit comments

Comments
 (0)