Commit Graph

71 Commits

Author SHA1 Message Date
Niklas Larsson
b5a6637da8 Rename expected, input and run
Because cabal's wildcards are broken and doesn't allow
files without file endings.
2020-01-25 01:44:54 +01:00
Ryan Scott
ff5322d578 Allow building on GHC 8.4.1 2018-03-30 10:44:46 -04:00
Jorge Acereda
f351735f70 stack test --nix should work now 2018-03-01 19:09:05 +01:00
Niklas Larsson
2584944b28 Fix build with Cabal 2.0.0.2 on Windows 2017-08-05 22:18:38 +02:00
Edwin Brady
b30057fe70 -f execonly now builts RTS too
This only takes a second or two, and it's useful to be able to build it
without building all the other libraries.
2017-08-05 16:42:18 +01:00
Ryan Scott
65c1e9bfd3 Add custom-setup 2017-08-03 17:32:30 -04:00
Ryan Scott
9f8888abe9 Make Setup.hs build with GHC 8.2 2017-08-03 16:40:34 -04:00
Thomas Scholtes
c4ac8cbc9f
Drop support for GHC <= 7.10.3 2017-07-16 20:38:44 +02:00
Jan de Muijnck-Hughes
b949b28466 Fix build system dir inconsistencies.
There were several glaring inconsistencies in Idris' paths for system installation. For example, one could override Idris' default data directory, but the system would ignore this for some paths.
This commit makes data directory and sub directory access consistent.
2016-09-29 09:51:43 +01:00
Jan de Muijnck-Hughes
de5a79c2e4 Allow Idris to install IdrisDoc into a central location.
+ Default location is `<getDataDir>/docs`.
+ Flag `--info` has been updated to show doc location.
+ New flag `--installdoc <ipkg>` provided to install documentation
+ New flag `--docdir` provided to show documentation installation location.
+ New environment variable `IDRIS_DOC_PATH` to allow alternate means of customisation.
+ Installation for Idris' std libraries has been augmented to install library documentation as well.
2016-09-28 19:29:27 +01:00
Jan de Muijnck-Hughes
8932658946 Install packages in sub-directory of Idris' data dir. 2016-09-09 22:56:09 +01:00
Steven Shaw
e9f420018b Generate extra-source-files using cabal hook 2016-08-06 20:38:07 +10:00
Niklas Larsson
b8bb3dcad4 Fix the icon object path so it goes in the dir.
No functionality change, previously it got a weird filename in the build dir.
2016-08-04 18:30:29 +02:00
gpyh
5186d6ce3e Hook the new test infrastructure to cabal
- A test hook in `Setup.hs` allows using the new test infrastructure with
  `cabal test`. Without it, cabal couldn't find the idris libraries.
- Make rules related to testing now call `cabal test`.
- The `test_timed` rule is removed because timings are given by default
- We introduce the `test_update` rule to update the golden files
- We introduce the `test_clean` rule to remove artifacts created when
  running the test suite. This is far from perfect ;
  a careful `git clean -f` should remove whatever is left
- The TEST-JOBS variable specifies the number of parallel jobs to
  the test program. By default, it relies on the Haskell RTS to find an
  optimal number. Set to 1 to disable parallelism.
- The TEST-ARGS variable can be used to pass arguments to the test
  program.
- Travis CI uses the new infrasctructure. It uses `travis_wait`
  to prevent timeouts because cabal only prints the output when
  the test suite is done running.
2016-07-27 15:01:36 +02:00
Echo Nolan
76bb5f792d Remove commented out code 2016-06-09 15:59:11 -07:00
Echo Nolan
afe0a56f0a Lint in Setup.hs 2016-06-09 15:51:05 -07:00
Eduard Nicodei
5925424367 #3171: Add support for NetBSD also. 2016-05-16 12:20:16 +01:00
Eduard Nicodei
0917cf8864 #3170: Use gmake if compiling on OpenBSD. 2016-05-15 21:11:11 +02:00
Jan de Muijnck-Hughes
129b7d3490 Fix #1957 Make man page installable.
Idris comes with a man page, this commit uses cabal (or stack) to
install it to an appropriate place.  Once installed you may need to
add the location to `$MANPATH` if you haven't done so already.
2016-04-05 20:40:01 +01:00
Niklas Larsson
d0da8982f1 Use cabal function for dir
Remove unused variable
2016-01-24 23:16:48 +01:00
Niklas Larsson
f1c6f25e70 Add the idris icon to the windows build 2016-01-24 22:10:40 +01:00
Echo Nolan
a238f450c9 Bring usesGMP in sync with idris.cabal
Because Cabal doesn't resolve unset flags using their defaults, we have to keep
the usesFoo functions in sync with idris.cabal. Somewhere along the line GMP got
switched from default on to default off. This patch brings Setup.hs into sync.
Before this, the C files would get -DIDRIS_GMP set even when the flag was off.
2016-01-09 21:53:06 -08:00
Miëtek Bak
d2296e991c Remove unused imports
Currently, build-depends are not expected to be ready at the time Setup.hs
is run.  This may change in a future version of Cabal; meanwhile, removing
these unused imports fixes failures at `cabal copy` time on OS X.
2015-05-18 16:42:05 +01:00
Matvey B. Aksenov
3f1b008486 Update bug reference 2015-05-15 15:54:14 +03:00
David Christiansen
76da3a3fe6 Merge pull request #2131 from puffnfresh/bug/nix-build
Fix default for execonly and Nix build
2015-04-09 16:16:14 +01:00
Brian McKenna
dd5bd6f664 Fix default for execonly and Nix build 2015-04-08 22:59:26 -06:00
Niklas Larsson
b9b19e578f Implement bundled toolchain feature 2015-04-02 17:21:08 +02:00
Edwin Brady
b4938580b2 Add -f execonly to omit library/rts builds
This reduces the compile/test cycle time in development when there's no
effect on the libraries.
2015-03-17 11:40:12 +00:00
David Raymond Christiansen
e88e306878 Add IDE command to get Idris version 2015-02-15 22:25:12 +01:00
Markus Pfeiffer
674b58fae5 Factor out LLVM backend
The LLVM backend is now available as a seperate project on github.
2014-09-20 00:13:09 +01:00
niklas
67f7373189 Support builds that doesn't use cabal for libs and rts 2014-06-24 01:05:13 +02:00
Markus Pfeiffer
7da9a4e34c Add DragonFly to config.mk 2014-01-05 16:41:37 +00:00
David Raymond Christiansen
b6a14bce53 Fix source locations for generated version number 2014-01-02 16:46:56 +01:00
David Raymond Christiansen
e9858150b1 Properly handle generation of sdist Git hashes
Now, the Git hash module is appropriately generated when running cabal sdist.
2014-01-02 16:14:50 +01:00
Melvar Chen
edbb52fd1c Fix import clash in Setup.hs
Control.Exception.catch clashes with Prelude.catch on older versions of base.
Newer versions of base don’t have Prelude.catch, so it’s probably not possible
to import Prelude hiding (catch) .
2013-12-22 14:51:47 +01:00
David Christiansen
e626474c9a Show Git revision IDs in pre-release versions
A new Cabal flag `release` is added, and is off by default.

When the flag is on, version strings show the version from
idris.cabal. When the flag is off, version strings are given a
prerelease suffix. If the build system can determine the short Git hash
for HEAD, then this is the suffix. If it cannot, then the suffix is a
generic "-PRE" suffix.
2013-12-19 16:17:54 +01:00
Edwin Brady
fcfbfaa0b5 Make GMP optional (default off)
This removes the last common obstacle to getting Idris built, at the
expense of using mini-gmp which is supposedly slower (but I haven't yet
measured how much this is likely to affect us).
2013-11-25 17:42:15 +00:00
Edwin Brady
40924dcc80 Moved libraries around, removed 'effects' flag
In preparation for reorganising the prelude
2013-11-20 17:38:22 +00:00
Hannes Mehnert
b23ac6e9aa Support for FreeBSD
We use gnu make on FreeBSD instead of bsd make, due to incompatibilities:
 * -include is a GNUism
 * conditionals (ifneq/ifeq)
2013-11-19 13:03:39 +01:00
Benjamin Saunders
8e53c10340 Fix installation of LLVM codegen's RTS to incorrect path
Breakage introduced by c7cf1f0f
2013-10-08 15:08:32 -07:00
Gabe McArthur
14ef6f12eb Reverting the change to the POM template and removing the templating/clenup logic for the Java backend. 2013-09-25 00:13:46 -10:00
Gabe McArthur
c7cf1f0f1b Refactored the build inside Setup.hs and the various Makefiles.
* Refactored the Setup.hs script into a much simpler layout.
* Simplified the idris.cabal file, alphabetizing the modules,
  build dependencies, simplifying the indentation, standardizing the
  flags, and normalizing the formatting of lists.
* Fixed a bug in the generation of the executable_pom.xml file for
  the Java backend.
2013-09-24 00:12:58 -10:00
Edwin Brady
afe2903c2c Merge pull request #422 from melted/llvm
Fix the LLVM flag
2013-07-28 05:49:49 -07:00
Niklas Larsson
4dddfaf273 Fix the LLVM flag
Apparently Cabal normalizes the flags to lower case, and the
lookup for "LLVM" does nothing. Commit
2972b75a18 isn't wrong, but the problem
is that it ever gets to the Nothing case. The flag should always
be there.
2013-07-28 13:42:53 -07:00
Benjamin Saunders
1931f0bc62 Build LLVM rts at the right stage and clean up a namespace 2013-07-27 15:35:42 -07:00
Niklas Larsson
2a1c9d8a02 LLVM test should return True if no flag is present
Fixes the build of the rts for LLVM.
2013-07-25 18:33:08 +02:00
Jan Bessai
c5d58844fa Remove Java RTS build in favor of the version hosted on Maven Central 2013-07-16 22:00:03 +02:00
Niklas Larsson
7eaa86a045 Make LLVM optional but the default 2013-07-12 23:41:04 +02:00
Jens Petersen
378f6c9f94 run installJavaLib also in postCopy
I think installJavaLib also needs to be run in postCopy,
though still untested.
2013-07-08 19:01:25 +09:00
Benjamin Saunders
93522bc8e8 Object and executable outputs 2013-07-01 15:55:14 -07:00