aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/c/Makefile.am15
-rw-r--r--src/elab_env.sml5
2 files changed, 13 insertions, 7 deletions
diff --git a/src/c/Makefile.am b/src/c/Makefile.am
index 58f5153c..027b1458 100644
--- a/src/c/Makefile.am
+++ b/src/c/Makefile.am
@@ -9,13 +9,18 @@ liburweb_static_la_SOURCES = static.c
AM_CPPFLAGS = -I$(srcdir)/../../include/urweb $(OPENSSL_INCLUDES)
AM_CFLAGS = -Wall -Wunused-parameter -Werror -Wno-format-security -Wno-deprecated-declarations -U_FORTIFY_SOURCE $(PTHREAD_CFLAGS)
liburweb_la_LDFLAGS = $(AM_LDFLAGS) $(OPENSSL_LDFLAGS) \
- -export-symbols-regex '^(client_pruner|pthread_create_big|strcmp_nullsafe|uw_.*)'
+ -export-symbols-regex '^(client_pruner|pthread_create_big|strcmp_nullsafe|uw_.*)' \
+ -version-info 1:0:0
liburweb_la_LIBADD = $(PTHREAD_LIBS) -lm $(OPENSSL_LIBS)
liburweb_http_la_LIBADD = liburweb.la
-liburweb_http_la_LDFLAGS = -export-symbols-regex '^(main|uw_.*)'
+liburweb_http_la_LDFLAGS = -export-symbols-regex '^(main|uw_.*)' \
+ -version-info 1:0:0
liburweb_cgi_la_LIBADD = liburweb.la
-liburweb_cgi_la_LDFLAGS = -export-symbols-regex '^(main|uw_.*)'
+liburweb_cgi_la_LDFLAGS = -export-symbols-regex '^(main|uw_.*)' \
+ -version-info 1:0:0
liburweb_fastcgi_la_LIBADD = liburweb.la
-liburweb_fastcgi_la_LDFLAGS = -export-symbols-regex '^(main|uw_.*)'
+liburweb_fastcgi_la_LDFLAGS = -export-symbols-regex '^(main|uw_.*)' \
+ -version-info 1:0:0
liburweb_static_la_LIBADD = liburweb.la
-liburweb_static_la_LDFLAGS = -export-symbols-regex '^(main|uw_.*)'
+liburweb_static_la_LDFLAGS = -export-symbols-regex '^(main|uw_.*)' \
+ -version-info 1:0:0
diff --git a/src/elab_env.sml b/src/elab_env.sml
index 0474bf7c..a2097aa9 100644
--- a/src/elab_env.sml
+++ b/src/elab_env.sml
@@ -493,10 +493,11 @@ fun class_name_in (c, _) =
case c of
CNamed n => SOME (ClNamed n)
| CModProj x => SOME (ClProj x)
+ | CAbs (_, _, c') => class_head_in c'
| CUnif (_, _, _, _, ref (Known c)) => class_name_in c
| _ => NONE
-fun isClass (env : env) c =
+and isClass (env : env) c =
let
fun find NONE = false
| find (SOME c) = Option.isSome (CM.find (#classes env, c))
@@ -504,7 +505,7 @@ fun isClass (env : env) c =
find (class_name_in c)
end
-fun class_head_in c =
+and class_head_in c =
case #1 c of
CApp (f, _) => class_head_in f
| CUnif (_, _, _, _, ref (Known c)) => class_head_in c