Skip to content

Commit 7b0256e

Browse files
committed
Try automating MySQL build
1 parent 641234c commit 7b0256e

File tree

5 files changed

+42
-33
lines changed

5 files changed

+42
-33
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,6 @@
3030

3131
# Debug files
3232
*.dSYM/
33+
34+
# Deps
35+
deps/deps.jl

.travis.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
language: julia
2+
os:
3+
- osx
4+
- linux
5+
services:
6+
- mysql
27
julia:
38
- release
49
- nightly
@@ -7,4 +12,4 @@ before_script:
712
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`mariadb_config --libs | cut -d ' ' -f1 | sed 's/-L//'`
813
after_script:
914
- export LD_LIBRARY_PATH=$OLD_PATH
10-
- unset OLD_PATH
15+
- unset OLD_PATH

deps/build.jl

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using BinDeps
2+
3+
@BinDeps.setup
4+
5+
libmysqlclient = library_dependency("libmysqlclient",
6+
alias=["libmysqlclient.so",
7+
"libmysqlclient.dylib",
8+
"libmysql.dll"])
9+
10+
provides(AptGet, Dict("libmysqlclient-dev" => libmysqlclient))
11+
provides(Yum, "mysql-devel", libmysqlclient)
12+
provides(Pacman, "mariadb", libmysqlclient)
13+
14+
if is_apple()
15+
if Pkg.installed("Homebrew") === nothing
16+
error("Homebrew package not installed, please run Pkg.add(\"Homebrew\")")
17+
end
18+
using Homebrew
19+
provides(Homebrew.HB, "mariadb", libmysqlclient, os = :Darwin)
20+
end
21+
22+
if is_windows()
23+
using WinRPM
24+
provides(WinRPM.RPM, "libmysqlclient", libmysqlclient, os = :Windows)
25+
end
26+
27+
@BinDeps.install Dict(:libmysqlclient => :libmysqlclient)

src/MySQL.jl

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
VERSION >= v"0.4" && __precompile__()
22

33
module MySQL
4-
include("config.jl")
4+
if isfile(joinpath(dirname(@__FILE__),"..","deps","deps.jl"))
5+
include("../deps/deps.jl")
6+
else
7+
error("MySQL not properly installed. Please run Pkg.build(\"MySQL\")")
8+
end
9+
const mysql_lib = libmysqlclient
510
include("consts.jl")
611
include("types.jl")
712
include("datetime.jl")

src/config.jl

-31
This file was deleted.

0 commit comments

Comments
 (0)