Give a useful error message if uuid-ossp is built without preconfiguration.
authorTom Lane
Thu, 22 Dec 2016 16:19:04 +0000 (11:19 -0500)
committerTom Lane
Thu, 22 Dec 2016 16:19:23 +0000 (11:19 -0500)
Before commit b8cc8f947, it was possible to build contrib/uuid-ossp without
having told configure you meant to; you could just cd into that directory
and "make".  That no longer works because the code depends on configure to
have done header and library probes, but the ensuing error messages are
not so easy to interpret if you're not an old C hand.  We've gotten a
couple of complaints recently from people trying to do this the low-tech
way, so add an explicit #error directing the user to use --with-uuid.

(In principle we might want to do something similar in the other
optionally-built contrib modules; but I don't think any of the others have
ever worked without preconfiguration, so there are no bad habits to break
people of.)

Back-patch to 9.4 where the previous commit came in.

Report: https://postgr.es/m/CAHeEsBf42AWTnk=1qJvFv+mYgRFm07Knsfuc86Ono8nRjf3tvQ@mail.gmail.com
Report: https://postgr.es/m/CAKYdkBrUaZX+F6KpmzoHqMtiUqCtAW_w6Dgvr6F0WTiopuGxow@mail.gmail.com

contrib/uuid-ossp/uuid-ossp.c

index 9bf30259114daf6e44e959575d7fa7a70a102efb..46ec616aa9b281ecf7fbd42afd4f0dfff4f14e86 100644 (file)
  */
 #define uuid_hash bsd_uuid_hash
 
-#ifdef HAVE_UUID_H
+#if defined(HAVE_UUID_H)
 #include 
-#endif
-#ifdef HAVE_OSSP_UUID_H
+#elif defined(HAVE_OSSP_UUID_H)
 #include 
-#endif
-#ifdef HAVE_UUID_UUID_H
+#elif defined(HAVE_UUID_UUID_H)
 #include 
+#else
+#error "please use configure's --with-uuid switch to select a UUID library"
 #endif
 
 #undef uuid_hash